0

我正在使用补丁设计从两个 msi 文件(新旧文件)中生成一个 msp,但我遇到的问题是我生成的 msp 几乎是 msi 大小的 3/4。有什么理由吗?通常 msp 应该只包含差异,但是当我安装补丁时,我可以看到它携带了 msi 的所有文件。

提前致谢。

4

1 回答 1

0

在 Windows Installer 视图中,我假设 InstallShield 在这方面支持...

补丁构建中应该有一个“包含整个文件”的选项。如果你正在使用它,那么是的,如果有很多文件被修补,补丁会很大。另一种方式是每个二进制文件之间的增量,并且可能更小。我怀疑您可能包含整个文件。

你怎么能“看到补丁携带了所有文件”?我不明白你在说什么。如果在第一个 MSI 和最新的 MSI 之间有 100 个文件发生了变化,那么无论补丁是否包含整个文件,都会有 100 个文件需要修补。

如果您正在重建每个文件,但实际上只有几个文件需要在补丁中,那么在某个地方有一个选项 - 在生成补丁时忽略丢失的文件。问题是即使代码和版本没有改变,重建也会改变内部日期和二进制文件的其他部分。这就是为什么忽略丢失的文件是一种选择。确保补丁生成仅使用您希望在用于补丁生成的管理映像中为其打补丁的文件。补丁生成过程需要两个 MSI aetups 的管理映像,基本上是 MSI 文件和提取到某个位置的所有文件。如果您设置了忽略丢失的文件选项,则可以从新的管理映像中手动删除您不想修补的文件。 https://msdn.microsoft.com/en-us/library/aa372066(v=vs.85).aspx

于 2015-05-14T16:12:29.920 回答