2011-09-28 50 views

回答

6

要回答我的问题,这原来竟是错了一个要求,对于产品代码属性的MSDN文档说:

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

原来我很困惑,我认为产品代码不应该改变。这是错误的。再次:

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

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> 

但是,回到你的问题。我建议您将产品ID设置为“*”。这确保每个构建都创建一个新的GUID。如果你想使用Orca创建一个补丁,你总是可以找到这个GUID。

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

+3

Windows Installer不允许在32位操作系统上运行64位软件包。所以后者不是必需的:用户永远不会看到你的错误信息。 –

+0

为什么我想要第一个后卫?它阻止我在64位窗口上安装32位版本的产品?或者我误解了它的作用?如果这就是它想要做的,那为什么我不想要那个? –

+0

您应该防止人们在Win 64框中安装32位版本和64位版本的产品 –

相关问题