规划小型更新修补程序

原始产品 MNP2000 的 Concert 功能文件包含 Concert.txt 文件中的错误。 由于 Windows Installer 用于安装和设置应用程序,因此可以通过安装小型更新修补程序包来处理对应用程序的次要修复。 小型更新对一个或多个应用程序文件进行更改,这些文件不重要,不值得更改产品代码。 以下示例演示如何创建一个 Windows Installer 修补程序包来应用小型更新并提供对 MNP2000 产品的快速修复。

若要创建小型更新,首先请获取 MNP2000 产品的完全未压缩映像,其中包含 Concert.txt 中的错误。 该映像必须包含 MNP2000.msi 和规划安装中所述的所有源文件。 在下面所述的内容中,此映像称为目标映像。 目标映像必须完全未经压缩,因为修补程序创建过程无法为 cab 文件中压缩的文件生成二进制修补程序。 将 .msi 文件和目标映像的所有源文件放入名为 Target 的文件夹中。

接下来,使用固定的 Concert.txt 文件获取 MNP2000 产品的完全未压缩映像。 在下面所述的内容中,此映像称为已升级映像。 使用安装数据库编辑工具(例如 Orca)更新 .msi 文件。 例如,如果更正后的 Concert.txt 大小小于原始文件,请确保在已升级映像的 File 表的 FileSize 字段中输入新大小。 请注意,由于包已更改,必须在修订版号摘要属性中分配新的包代码。 将 .msi 文件和已升级映像的所有源文件放入名为 Upgraded 的文件夹中。

本示例假设 Concert.txt 文件的大小发生了更改。 这意味着目标和已升级数据库的 File 表中的 FileSize 字段包含不同的数据。

以下 File 表标识了目标映像中的记录。

文件 Component_ FileName FileSize 版本 语言 特性 序列
Concert.txt 音乐会 Concert.txt 1000 0 1

 

以下 File 表标识了已升级映像中的记录。

文件 Component_ FileName FileSize 版本 语言 特性 序列
Concert.txt 音乐会 Concert.txt 900 0 1

 

注意

该文件在目标映像和已更新映像的 File 表中必须具有相同的键。 两个表的 File 列中的字符串值必须相同。 大写和小写也必须相同。

遵循创建修补程序包中所述的准则。 不要使用只有大小写不同的 File 表键来创作包,因为 Msimsp.exePatchwiz.dll 将调用 Makecab.exe,而这种调用不区分大小写,因而修补程序生成会失败。

继续