TargetImages 表 (Patchwiz.dll)

TargetImages 表包含有关产品目标映像的信息。 Windows Installer 补丁包将目标映像更新为升级映像。

每个补丁创建数据库(pcp 文件)都需要一个至少包含一条记录的 TargetImages 表。 此表由 UiCreatePatchPackage 函数使用。

TargetImages 表包含以下列。

类型 密钥 Nullable
目标 text Y N
MsiPath text   N
SymbolPaths text   Y
升级 text   N
订单 整型   N
ProductValidateFlags text   Y
IgnoreMissingSrcFiles 整型   N

 

Target

目标映像的标识符。 补丁包会将此列中指定的目标映像更新为 Upgraded 列中指定的升级映像。 每个升级映像都有一个或多个目标映像。 目标映像必须是完全未压缩的产品设置映像,例如 CD-ROM 上的管理映像或未压缩的设置映像。 请注意,UiCreatePatchPackageEx 函数不会为 Cabinet 中的文件生成二进制补丁。 此字段中的值与 Upgraded 字段中的值一起用于生成将被安装程序添加到补丁包的转换的名称。

MsiPath

此字段指定目标映像的 .msi 文件位置的完整路径(包括文件名)。 这是目标映像源文件的位置。

SymbolPaths

要用于搜索符号文件的文件夹的分号分隔列表,这些文件可用于优化二进制补丁的生成。 请注意,不会搜索此字段中指定的文件夹的子目录。 优化后的二进制补丁可能更小。 Microsoft Visual C++ 必须安装在生成补丁的计算机上,用于创建符号文件。 此字段是可选的,即使未指定符号文件或符号文件对 Patchwiz.dll 不可用,安装程序也会创建二进制补丁。

Upgraded

UpgradedImages 表 Upgraded 列的外键。 UiCreatePatchPackageEx 函数会忽略任何未被 TargetImages 表中的至少一条记录引用的升级映像。

Order

目标映像的相对顺序。 由于可以将多个目标修补为升级映像,因此借助 Order 字段,可以在补丁转换列表中将转换排序。 通常按照从最旧到最新映像的顺序。

ProductValidateFlags

ProductValidateFlags 字段用于指定产品检查,以免应用不相关的转换。 在此字段中输入的值必须是 8 位十六进制整数,并且是 MsiCreateTransformSummaryInfo 函数的 iValidation 参数的有效值之一。 默认值为 0x00000922,等于 MSITRANSFORM_VALIDATE_UPDATEVERSION + MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION + MSITRANSFORM_VALIDATE_UPGRADECODE + MSITRANSFORM_VALIDATE_PRODUCT。

IgnoreMissingSrcFiles

如果此字段设置为非零值,安装程序将忽略目标映像中缺少的文件,并在修补期间保持不变。 在这种情况下,无需整个映像即可进行修补;只需要产品的已更改文件和 .msi 文件。 这样可以减少生成补丁所需的时间。

注意

请勿在 Properties 表中使用将 TrustMsi 设置为 1 的 IgnoreMissingSrcFiles 值。

 

备注

此表接受环境变量作为路径(从 Patchwiz. dll 版本 4.0 开始)。