Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf Wix产品代码、升级代码和组件GUID_Wpf_Wix_Burn - Fatal编程技术网

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

Wpf Wix产品代码、升级代码和组件GUID,wpf,wix,burn,Wpf,Wix,Burn,所有平台的安装程序的升级代码和产品代码是否必须相同 我们应该为不同平台的组件使用不同的GUID吗?我正在burn bootstrapper中捆绑msi。产品代码应该总是不同的,无论平台如何,这是最好的一般规则。没有坏处。您构建了一个新的产品,并为其提供了一个新的产品代码,无论是什么体系结构 UpgradeCodes通常表示一个产品线,也就是说这个版本升级了旧产品,这是一个持续的产品线。如果你有疑问,最好让它们更独特。您可能不希望在同一系统上安装具有相同升级代码的多个产品,因为执行升级的后续产品可

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


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

产品代码应该总是不同的,无论平台如何,这是最好的一般规则。没有坏处。您构建了一个新的产品,并为其提供了一个新的产品代码,无论是什么体系结构

UpgradeCodes通常表示一个产品线,也就是说这个版本升级了旧产品,这是一个持续的产品线。如果你有疑问,最好让它们更独特。您可能不希望在同一系统上安装具有相同升级代码的多个产品,因为执行升级的后续产品可能会在识别要升级的正确产品时遇到问题


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

我将程序集编译为AnyCpu。为特定目标平台编译的程序集很少。对于使用此程序集的32位/64位,也要分开MSI。因此,当32位机器上安装32位软件包时,相同的程序集将与32位机器上的32位软件包相同,反之亦然。32位软件包不可能安装在64位机器上,因为我使用burn bootstrapper在机器上只安装正确的软件包。在这种情况下,32/64位是否可以使用相同的guid?在这种情况下,相同的guid似乎是安全的。