Patchwiz.dll
若要生成补丁包,建议使用 Msimsp.exe、Patchwiz.dll 等补丁创建工具。 Patchwiz.dll 4.0 版与使用早期版本的 Patchwiz.dll 创作的包和补丁兼容。 Patchwiz.dll 工具仅在面向 Windows Installer 开发人员的 Windows SDK 组件中提供。
Patchwiz.dll 4.0 版有一个新函数(UiCreatePatchPackageEx (Patchwiz.dll)),它扩展了 UiCreatePatchPackage (Patchwiz.dll) 的功能。 这些函数采用补丁创建属性文件(.pcp 文件)并生成安装程序补丁包。
.pcp 文件是一个二进制数据库文件,其格式与 Windows Installer 数据库(.msi 文件)相同,但数据库架构不同。 因此,可以使用那些用于安装程序数据库的工具来创作 .pcp 文件。
可以创建一个 .pcp 文件,方法是使用 Orca.exe 之类的表编辑器将信息输入到随 Windows Installer SDK(即 Template.pcp)提供的空白 .pcp 数据库中。 有关详细信息,请参阅小型更新修补示例。
每个 .pcp 文件中都需要以下数据库表:
- Properties 表 (Patchwiz.dll)
- ImageFamilies 表 (Patchwiz.dll)
- UpgradedImages 表 (Patchwiz.dll)
- TargetImages 表 (Patchwiz.dll)
以下数据库表是可选的:
- UpgradedFiles_OptionalData 表 (Patchwiz.dll)
- FamilyFileRanges 表 (Patchwiz.dll)
- TargetFiles_OptionalData 表 (Patchwiz.dll)
- ExternalFiles 表 (Patchwiz.dll)
- UpgradedFilesToIgnore 表 (Patchwiz.dll)
在 Properties 表中 MinimumRequiredMsiVersion 等于 300 的 .pcp 文件需要下表。
注意
如果 MinimumRequiredMsiVersion 不等于 300,则此表是可选的。
与 Windows Installer 3.0 一起发布的 Patchwiz.dll 版本可以自动生成补丁排序信息并将其添加到新补丁的 MsiPatchSequence 表中。 PatchSequence 表可用于手动将补丁排序信息添加到 MsiPatchSequence 表。 有关详细信息,请参阅生成补丁序列信息。
从 Patchwiz.dll 2.0 版开始,可以使用补丁信息缓存 (Patchwiz.dll) 提高后续补丁创建的速度。
对目标和升级映像二进制文件使用公共符号可以将二进制补丁大小减小大约一半。 有关详细信息,请参阅使用符号减小二进制补丁大小。
可以指定在修补过程中保留目标文件的某些区域,使之不被覆盖,保留这些区域中的信息。 有关详细信息,请参阅修补文件的选定区域。
相关主题