安装MSP补丁后,重命名的文件夹无法安装。

问题描述 投票:0回答:1

我们在新的MSI中更新了一些文件夹,例如 Angular.minAngular.min.1_5_19 其中包含一个 Anguar.min.js.

创建了一个 MSP 补丁包来交付给客户。我们可以观察到目录名的变化,在 ORCA 关于申请 MSP 旧的 MSI,还观察到了更新后的日志 msimsp.log 文件。

但安装后 MSP 在我的机器中,我们能够观察到新的js文件在旧文件夹中本身。新的文件夹既没有创建为空,也没有用新的名字替换旧文件夹。

wix windows-installer msi-patch
1个回答
0
投票

Windows Installer有组件规则的概念,一个小的升级补丁能做和不能做的事情,以及需要大升级的事情。还有一个有用的属性叫做 MSIENFORCEUPGRADECOMPONENTRULES 导致安装程序失败,并且在你违反这些规则时回滚,而不是看起来完成了你要求的大部分工作,但不是全部。

在这种情况下,你可能是通过重新定义组件所属的目录而破坏了一个组件规则。 在补丁中做到这一点的方法是。

1) 保留旧组件的位置 将它标记为转义,并给它一个总是评估为false的条件。 这使得MSI在打补丁的过程中仍然可以正确地跟踪组件,并删除它和它的旧目录。

2) 为你的新目录创建一个新的组件。 这允许MSI安装新的组件和它的目录。

© www.soinside.com 2019 - 2024. All rights reserved.