6

我有一个有 32 位版本和 64 位版本的文件。如果我在 32 位机器上安装我的应用程序,我希望安装 32 位版本的文件。同样,如果安装在 64 位机器上运行,则应安装 64 位版本。如何使用 WiX 检查安装程序在哪种类型的机器上运行?

拜托,没有单行答案。我正在寻找特定的 WiX 标签以及将它们放在我的 WiX 脚本中的位置。

4

3 回答 3

4

您可以使用条件只做两个单独的组件

 VersionNT64

 Not VersionNT64

但正确的方法是为 32 位和 64 位操作系统编译单独的安装程序,并且 64 位组件也应该这样标记(用Win64="yes") - 我不知道是否甚至可以将 Windows 安装程序包标记为面向英特尔和 x64。只有一次我使用 NSIS 完成了混合架构安装,我所有的 WiX 安装程序都有针对每个架构的单独安装程序。

于 2009-04-08T22:48:11.757 回答
2

这样做的正确方法是编译两个设置,一个用于 32 (x86),一个用于 64 (amd64)。然后将这两个 msi 打包到一个 msi 中,并在运行时运行相应的 msi。

于 2009-04-08T19:48:44.997 回答
0

您可以使用环境或预处理器变量创建一个基本 wxs 文件,并在编译之前填写所需的属性。另一种选择是在构建之前运行一个脚本,该脚本在文件中包含用于特定安装的不同 GUID。简而言之,我认为没有一种简单的方法可以为不同的架构构建安装程序,因此您必须使用其他实用程序。

于 2012-04-22T17:39:35.420 回答