如何基于目标计算机(32位或64位)有条件地安装带有WiX的文件?

时间:2009-04-08 15:29:51

标签: windows wix 32bit-64bit

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

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

3 个答案:

答案 0 :(得分:4)

您可以 使用条件

执行两个单独的组件
 VersionNT64

 Not VersionNT64

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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