对于 msi 数据库的组件表中的两个不同条目的相同组件GUID



我正在将某些程序集打包到msi包中。 在执行此操作时,我要求将一些程序集放入本地文件系统以及目标计算机的 GAC 中。众所周知,在这种情况下,重复文件表将无济于事。我决定将程序集放在具有不同标识符的 CAB 文件中两次。现在,为了填充组件表,我有不同的组件标识符,但我没有用于类似程序集的不同组件 GUID。我的问题是,如果我为具有不同组件标识符(在组件表中(的条目保持GUID(因为基本上程序集是相同的(相同,它会影响程序集的安装或卸载吗?此外,如果我更改这些程序集的组件 GUID(通过动态生成 GUID(,它是否会影响将来对程序集的更新(因为特定程序集的 GUID 应该是唯一的(?注意:我们正在使用自己的应用程序来创建 MSI 软件包。

如果我们在安装时使用相同的 GUID 注册两个不同的组件一切都会正常工作 功能明智。但在卸载期间,组件 MSI 表中后面的组件不会从注册表或 GAC 中取消注册。所以我们将遇到DLL地狱般的问题。

相关内容

  • 没有找到相关文章

最新更新