WIX UpgradeCode应该在产品的x64和x86版本之间有所不同吗?

Che*_*eso 7 64-bit wix

我假设是的.

我有一个x86版本的安装程序,我正在为x64版本构建安装程序.

我想弄清楚陷阱.到目前为止,它看起来非常简单.我觉得他们应该是不同的UpgradeCodes.我需要在条件中检查VersionNT64属性以验证安装.


<Condition Message="This package can be installed only on an x64 version of Windows.">
  VersionNT64
</Condition>
Run Code Online (Sandbox Code Playgroud)

还有其他提示吗?

Dou*_*bal 5

我会继续说是的,你可能应该为这两个安装程序提供不同的升级代码,除非你特别需要它们相同.

我可以想到匹配升级代码可能有用的一种情况是,如果您之前只发布了能够在32位和64位操作系统上安装的x86版本.在这种情况下,使用具有相同升级代码的x64版本将允许您轻松处理从旧版x86升级到64位操作系统上的新x64版本.

编辑:

我忘了提到你也可以使用"Msix64"属性来确定位数.也没有必要在x64版本中添加安装条件,因为尝试在32位操作系统中安装它将导致Windows Installer服务出现错误消息.

目前我只在x86版本的安装程序中使用一个条件

<Condition Message="You are attempting to install the x86 version in a 64-bit OS">NOT Msix64</Condition>
Run Code Online (Sandbox Code Playgroud)