0

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

4

1 回答 1

0

如果我们在安装时使用相同的 GUID 注册两个不同的组件,那么一切都会在功能上正常工作。但是在卸载过程中,组件 msi 表中稍后出现的组件不会从注册表或 GAC 中注销。所以我们会有 dll 地狱般的问题。

于 2012-12-05T01:52:39.997 回答