0

我有两个大小约为 17MB 的 msis,这两个 msis 之间的差异很小。当我通过补丁设计生成补丁时,输出 msp 大约为 15MB,这是不正确的,因为不存在这样的差异。这是什么原因?如何验证我只修补了这两个 msis 之间的差异?请注意,所有文件都通过动态链接选项添加到 msi。我已经在 msi Diff 工具中打开了两个 msis,我注意到每个文件都有已删除和已添加的状态,我认为它以某种方式比较组件名称而不是实际文件。因为所有的 msi 文件都是通过“动态链接”选项获取的。

4

2 回答 2

0

您在构建补丁时是否使用补丁优化?这应该对你的情况有所帮助。

请看以下文档:

http://helpnet.installshield.com/installshield18helplib/UpgradeConsiderations.htm

此外,当您构建补丁时,可以选择包含整个文件或差异文件。确保您使用该选项。

希望这可以帮助。

问候, 基兰·赫格德

于 2015-07-13T04:50:47.000 回答
0

我的回答是,由于为每个新的 msi 生成了动态根文件夹,因此 msp 将其视为一个新文件。因此,如果我在旧 msi 中有一个像 C:\1\abc.txt 这样的文件路径,而在新 msi 中它变为 C:\2\abc.txt,则 msp 将 abc.txt 作为差异,尽管它不是更改后,它看起来像是比较完整路径而不仅仅是文件名(我使用组件作为 msi 内的文件)。解决方案是将根路径设置为静态。

于 2015-12-18T11:06:43.783 回答