Wix 产品代码、升级代码和组件 GUID

jer*_*ome 1 wpf wix burn

所有平台的安装程序的升级代码和产品代码是否必须相同?

我们应该为不同平台的组件使用不同的 GUID 吗?我将 msi 捆绑在burn bootstrapper 中。

Phi*_*lDW 5

无论平台如何,产品代码应该始终不同,这是最好的一般规则。没有什么缺点。您构建一个要发货的新产品,给它一个新的产品代码,无论架构如何。

UpgradeCodes 通常表示一个产品线,这是一种表示此版本升级旧产品的方式,并且这是一个正在进行的产品线。如果您有疑问,最好让它们更加独特。您可能不希望使用相同的升级代码在同一系统上安装多个产品,因为后续进行升级的产品可能会在识别要升级的正确产品时出现问题。

组件 ID 问题与平台无关,而是与共享有关。相同的资源应该有相同的id。如果您有多个产品中的 32 位组件,则它需要相同的 ID。如果该 id 最终出现在 64 位系统上的 32 位程序包中以及安装在同一 64 位系统上相同位置的 64 位程序包中,那么它们需要相同的 id,并且该 64 位程序包的体系结构包没关系。如果您可以保证所构建的包中的所有内容都相互排斥,那么您可以在问题的上下文中使用您喜欢的任何组件 id,但通常存在一些公共组件的共享,导致这些共享组件需要相同的 id。