在我们的项目中,人们通常会复制粘贴WIX文件,他们将更改产品和升级代码。
通常情况下这没有任何问题。
最近我们遇到了一个问题,即在卸载msi时,某些注册表项未被删除,而且当我们验证日志文件记录了这样的事情时。
禁止从另一个客户端卸载组件:{GUID} 存在。
我们被告知组件guid可能被系统中的另一个msi使用。
组件GUID在msi中也应该是唯一的吗?
答案 0 :(得分:2)
欢迎来到"组件规则"的世界。你需要知道的很多东西。我会先阅读:
What happens if the component rules are broken?
Organizing Applications into Components
Windows Installer Components Introduction.
答案 1 :(得分:0)
这可能是正常的 - 取决于文件。它可能是多个产品正在使用的常见Microsoft Dll。或者来自任何其他数量的产品的共享Dll。
然而,你暗示在开发过程中存在一些不稳定性,并且在你自己独立的MSI设置中可能存在重复的guid。简短的回答是,这不是一个真正的WiX问题,因为使用什么工具来构建MSI文件无关紧要。对于特定文件或注册表项,组件guid必须是唯一的。没有重复。实际上,组件guid需要对整个系统中的文件或注册表项是唯一的!
克里斯给了你很多阅读。