1

任何人都可以给我一个很好的例子或为我设定正确的方向,以使我的安装程序适用于 32 位和 64 位。我正在使用 Wix 3.6。

我试过这个:

<?if $(var.Platform) = x64 ?>
<?define ProductName = "InsomniacGeek: Windows Setup Test (64 bit)" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define ProductName = "InsomniacGeek: Windows Setup Test" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>


<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="$(var.Platform)" />

但是它不喜欢这样,它说 Platform 属性无效,有没有人有这个功能并且可以帮助我吗?

4

1 回答 1

2

我就是这样做的,而且效果很好。

您会在 Votive 中看到一条波浪线和一条警告,因为文字文本$(var.Platform)不是在 XML Schema for WiX 源文件中定义的平台枚举值之一。预处理器处理完文件后,属性的值是有效的,并且candle会很高兴地接受它。

编辑添加: 这个问题及其答案是一个很棒的 WiX 资源

于 2012-09-03T11:23:38.353 回答