我有两个大小约为17MB的msis,这两个msis之间的差异很小。当我通过Patch Design生成补丁时,输出msp大约为15MB,这可能不正确,因为不存在这样的差异。这是什么原因?我如何验证我只修补了这两个msis之间的区别? 请注意,所有文件都通过动态链接选项添加到msi。 我在msi Diff工具中打开了两个msis,我注意到每个文件的状态为Deleted和Added,我认为它是以某种方式比较组件名称而不是实际文件。因为所有msi文件都是通过“动态链接”选项抓取的。
答案 0 :(得分:0)
在构建补丁时是否使用补丁优化? 这应该对你的情况有所帮助。
请查看以下文档:
http://helpnet.installshield.com/installshield18helplib/UpgradeConsiderations.htm
此外,在构建补丁时,可以选择包含整个文件或不同的文件。确保您使用该选项。
希望这有帮助。
此致 Kiran Hegde
答案 1 :(得分:0)
我的回答是,由于为每个新msi生成的动态根文件夹,msp将其视为新文件。 因此,如果我在旧msi中有一个类似C:\ 1 \ abc.txt的文件路径,并且在新msi中它变为C:\ 2 \ abc.txt,则msp将abc.txt拉为差异,尽管它不是改变了,看起来它比较了完整路径而不仅仅是文件名(我在msi中使用了文件的组件)。 解决方案是将根路径设置为静态。