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