Wix $(变量平台)在x64平台上提供x86?
我有一个WiX msi,它作为一个包包含在为x86编译的Burn包中。在msi中,我有以下代码:Wix $(变量平台)在x64平台上提供x86?,wix,windows-installer,Wix,Windows Installer,我有一个WiX msi,它作为一个包包含在为x86编译的Burn包中。在msi中,我有以下代码: <?if $(var.Platform) = x64 ?> <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?> <?else ?> <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?> &
<?if $(var.Platform) = x64 ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif?>
<!-- directory structures -->
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="MyApp">
<Directory Id="MyFolder" Name="MyFolder" />
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="MyComponents" Directory="MyFolder">
<Component Id="MyComponent">
<File Id="MyFile" Source="file.dat" Vital="yes" KeyPath="yes"/>
</Component>
</ComponentGroup>
</Fragment>
我希望它安装到64位系统上的
程序文件
文件夹中,但它安装到程序文件(x86)
。这是因为捆绑包以32位运行吗?如果出现这种情况,如何在MSI中测试实际的操作系统体系结构?您需要一个64位软件包来写入文件系统的64位部分。这是MSI的限制。您需要一个64位的包来写入文件系统的64位部分。这是MSI的一个限制。我遇到了完全相同的问题,我正在将-arch x64位传递给candle,但这仍然不起作用!您是如何解决的?我遇到了完全相同的问题,我正在将-arch x64位传递给candle,但这仍然不起作用!你是怎么解决的?