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

Windows installer msi数据库组件表中两个不同条目的相同组件GUID,windows-installer,guid,gac,cab,Windows Installer,Guid,Gac,Cab,我正在将某些程序集打包到msi包中。在执行此操作时,我需要将一些程序集放入本地文件系统以及目标机器的GAC中。我们知道DuplicateFile表在这种情况下没有帮助。我决定使用不同的标识符在CAB文件中放置两次程序集。现在,为了填充组件表,我有不同的组件标识符,但对于类似的程序集,我没有不同的组件GUID。我的问题是,如果我保持guid,因为组件表中具有不同组件标识符的条目的程序集基本相同,那么这会影响程序集的安装或卸载吗?另外,如果我通过为这些程序集动态生成GUID来更改componentg

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

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