我们发布了MSI版本12.2.1.0,并且在修订1中添加了新组件,该修订版现已发布,其中包含2个具有相同GUID的组件。我们已经确定了Fix2中的问题,因为补丁程序似乎没有覆盖/替换文件,因为组件的GUID重复,在安装Fix2时跳过了引用组件的功能。
如何解决Fix2中的重复GUID问题。由于已交付给客户,我们无法返回到fix1。
第一个组成部分
如何安全地删除重复的GUID以使补丁程序安装该功能而不会跳过。
日志显示 行1042:MSI(c)(9C:7C)[11:47:25:815]:SELMGR:组件'xyz_shortcut18'已注册为特征'P',但在FeatureComponents表中不存在。不支持从功能中删除组件!
ICE警告:不幸的是,在生成补丁时被忽略了 警告LGHT1137:Component/@Id='p19.arx'具有@Guid值'{36B8C853-9E9E-48D7-BDCD-E4D6C376B781}' 可容纳该包装中的另一个组件。 Windows Installer并没有正式支持此功能,但是只要所有组件都具有互斥条件,就可以使用该功能。
我们正在使用wixout文件来生成转换纯补丁程序。
答案 0 :(得分:2)
要修复Component Rule violations,您需要使用排定为很早(在InstallValidate
之后)的重大升级。这样可以在安装固定软件包之前删除“不良软件包”,从而避免违反“组件规则”。
之后,您可以尝试更高级的升级/修补方案。