СПРАВКА: WiX ProgramFiles64Folder ведет себя как ProgramFilesFolder (x86) - PullRequest
2 голосов
/ 27 января 2011

Я создаю простой установщик, который копирует файлы в папку под Program Files.Несмотря на определение Компонента как Win64 и Каталога как ProgramFiles64Folder, MSI во время выполнения изменяет путь установки.Я запустил его в режиме подробного журнала и получил следующее сообщение

 WIN64DUALFOLDERS: 'C:\Program Files (x86)\' will substitute 17 characters in 'C:\Program Files\' folder path. (mask argument = 0, the folder pair's iSwapAttrib member = 0).

Ниже приведен мой фрагмент (используйте реестр для заполнения INSTALLDIR)

<Property Id="INSTALLDIR">
   <RegistrySearch
    Id="AsteaRegistryKeys"
    Type="raw"
    Root="HKLM"
    Key="Software\MyCompany\1.0\MyApplication"
    Name="InstallDir" />
</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFiles64Folder">
    <Directory Id="MyCompany">
           <Directory Id="INSTALLDIR">
        <Component 
                     Id="MainExecutable" 
                     Guid="1537B67F-6D49-4bbc-89DC-20A1FB7E07E0" Win64="yes">
        <File 
             Id="EXE" 
             Name="MyApp.exe" 
             DiskId="1" 
             Source="Source_Bin\MyApp.exe" 
             KeyPath="no" />
           </Directory>
         </Directory>
    </Directory>
</Directory>

1 Ответ

1 голос
/ 28 января 2011

Это проблема между стулом и клавиатурой.Я неправильно определил платформу пакета как «ia64» вместо «x64».Проблема решена!

...