在WiX中,我是否应该为32位和64位版本提供不同的产品ID

时间:2011-09-28 15:26:54

标签: wix installer

我正在编写一个WiX安装程序,其中包含一组用于32位和64位版本产品的通用WiX源。

问题是,我应该为不同的版本使用不同的产品ID吗?

2 个答案:

答案 0 :(得分:6)

要回答我自己的问题,实际上这是一个错误的问题,ProductCode属性的MSDN文档说:

  

必须为应用程序包的32位和64位版本分配不同的产品代码。

事实证明,我认为产品代码永远不会改变,我感到很困惑。这是错的。再次:

  

ProductCode属性是特定产品版本的唯一标识符。此ID必须因不同版本和语言而异。

答案 1 :(得分:3)

首先,我会为32位安装程序制作一个这样的警卫:

<Condition Message="This installer does not support 64-bit Windows! ">
  <![CDATA[NOT VersionNT64]]>
</Condition>

这适用于64位安装程序:

<Condition Message="This installer does not support 32-bit Windows! ">
  <![CDATA[VersionNT64]]>
</Condition>

但回到你的问题。我建议您将Product Id设置为“*”。这可确保每个构建都创建一个新的GUID。如果要使用Orca创建补丁,可以随时找到此GUID。

重要的值是UpgradeCode。此GUID在版本之间创建链接。我将为所有32位安装程序推荐一个UpgradeCode,为所有64位安装程序推荐另一个UpgradeCode。