Windows 安装程序中组件的组件 ID 会在升级场景中发生变化吗?

Will change in ComponentID for component in Windows Installer effect during upgrade scenerio.?

Product1 的 Component1 版本为 1.0.0.0。有一个 Product2 具有相同的组件版本 2.0.0.0,其组件 ID (GUID) 值已更改。 现在,如果我们从 Product1 小幅升级到 Product2,组件是否会从 1.0.0.0 更新到 2.0.0.0。或者它会随着 GUID 值的改变而保持不变吗?

有关详细信息,请参阅此旧答案:When to change component GUIDs?


组件 GUID 应在版本之间保持稳定,除非您将组件的密钥文件移动到磁盘上的新绝对位置(您将源层次结构中的文件相对于其他文件移动 - 磁盘上的目标位置可能会有所不同,具体取决于您安装的位置 base-folder - INSTALLDIR)。在那种情况下,它被视为一个新文件,应该被赋予一个新的身份——这意味着一个新的组件 GUID。

组件 GUID 标识特定位置的密钥文件,如果它移动到磁盘上的不同位置,GUID 不会“跟随文件”。

如果文件在磁盘上保持稳定,组件 ID 将执行引用计数和跨版本识别同一文件的工作。


链接:

  • Minor upgrades are know to have lots of limitations
  • WiX Setup: When do I need to change the GUID of a component?