我正在编写一个WiX安装程序,其中包含一组用于32位和64位版本产品的通用WiX源。
问题是,我应该为不同的版本使用不同的产品ID吗?
答案 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。