Search code examples
windowswixwindows-installerwix3.5wix3.7

Wix installer wrong path to the users folder


When try to install an app via my installer on the machine that is using Spanish language (SystemLanguageID 3082), in logs I can see that the properties like WixBundleLog and so on has C:\Users... value, which is wrong, as on the Spanish machine this folder is C:\Usuars.... That properties are not configured to custom hardcoded values and are default.

Are there any solutions of this problem?


Solution

  • In Windows Vista and later, special folders are not localized, they are always in English (on disk).

    Explorer (and other IShellFolder consumers) internally call SHGetLocalizedName to get the file/folder name to display to the user. It reads this information from hidden Desktop.ini files.

    Wix presumably calls SHGetSpecialFolderLocation or similar functions to get the path to the users folder, this returns the real filesystem path which is where programs are supposed to write but this may not match the path a user sees in Explorer.