0

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

创建了一个MSP补丁包以将其交付给客户。ORCA我们可以观察到应用MSPover old时目录名的变化MSI,也观察到更新的登录msimsp.log文件。

但是MSP在我的机器上安装后,我们能够在旧文件夹本身中观察到新的 js 文件。新文件夹既不是空的,也不是用新名称替换旧文件夹。

4

1 回答 1

0

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

在这种情况下,您可能通过重新定义组件所属的目录来破坏组件规则。在补丁中执行此操作的方法是:

1) 将旧组件留在原处。将其标记为可传递并给它一个始终评估为假的条件。这允许 MSI 在补丁期间仍然正确跟踪组件并将其删除以及它的旧目录。

2) 为您的新目录创建一个新组件。这允许 MSI 安装新组件及其目录。

于 2020-05-13T14:00:42.293 回答