我遇到的问题与此处描述的问题非常相似: ProgramFiles64Folder is installed to \Program Files (x86)\ in WIX Installer
但是,那里的解决方案对我不起作用。Wix 仍会生成安装到 C:\Program Files (x86) 的 .msi
我将以下代码放在我的 Product.wxs 文件中:
<?if $(var.Platform) = x64 ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?define ConfigFolder = "Release" ?>
<?else ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?define ConfigFolder = "Release_x86" ?>
<?endif?>
然后稍后我尝试指定安装文件夹,如下所示:
<Directory Name="SourceDir" Id="TARGETDIR">
<Directory Name="$(var.PlatformProgramFilesFolder)" Id="$(var.PlatformProgramFilesFolder)">
...
我验证了 var.Platform 设置正确,因为它从正确的 ConfigFolder 复制源文件。但是,似乎 ProgramFiles64Folder 和 ProgramFilesFolder 都设置为 C:\Program Files (x86)
我验证了使用 -dPlatform=x64 选项调用了candle.exe。
我什至尝试在我的 Package 标签中指定平台
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64" />
没有任何帮助,它仍然尝试安装到 C:\Program Files (x86)
知道我还能尝试什么吗?
谢谢你。
我正在使用 WiX 3.9 版