相同的组件是否需要在Wix中具有不同的GUID?

时间:2013-10-24 14:55:05

标签: wix

我们的应用程序中有很多文件。每个文件都放在一个组件中。对于不同版本的软件,这些组件/文件的GUID是否需要不同?现在我们总是为每个版本创建新的GUID ......

所以在1.0版本中:

<Component Id="cmpDE86F5F2ECC747CD5DBEEE393DF6F171" Guid="{0EFFF658-728F-48ED-9363-CCFBA2907361}">
 <File Id="fil21B022DF64AB20896A8D0D6D0A986920" KeyPath="yes" Source="$(var.SourceDir)\Ionic.Zip.xml" />
</Component>

在版本1.1中:

<Component Id="cmpDE86F5F2ECC747CD5DBEEE393DF6F171" Guid="{06CBD6F8-2DD5-473C-9E72-4D432C82EDD9}">
 <File Id="fil21B022DF64AB20896A8D0D6D0A986920" KeyPath="yes" Source="$(var.SourceDir)\Ionic.Zip.xml" />
</Component>

这是必需的,还是GUID在版本上保持不变(即使目标文件发生了变化)?

1 个答案:

答案 0 :(得分:2)

是的,即使目标文件发生更改,GUIDS也可以保持不变。这就是我通常做的事情。事实上,你总是生成新的东西似乎很奇怪。

至于现在,我可以想到一个可能很重要的场景:

想象一下你创建了一个次要的升级(它正在进行REINSTALL),如果你每次都改变GUIDS,它就不会做很多跟踪。如果您随后更改目标文件和GUID,则系统上将包含旧文件(与以前的文件一样)。但是,如果您不更改GUID,安装程序将能够看到先前的COMPONENTS文件已更改,并执行必要的移动。