Properties 表 (Patchwiz.dll)
Properties 表包含修补程序包的全局设置。 Properties 表在修补程序创建数据库(.pcp 文件)中是必需的,UiCreatePatchPackageEx 函数将使用此表。
Properties 表包含以下列。
列 | 类型 | 密钥 | Nullable |
---|---|---|---|
名称 | text | Y | N |
“值” | text | Y |
列
-
Name
-
修补程序创建属性的名称。
-
Value
-
修补程序创建属性的值。
备注
下表标识了可在 .pcp 文件的 Properties 表中输入的修补程序创建属性字符串。
属性 | 说明 |
---|---|
AllowLaxValidationFlags | 如果此属性设置为 1,则会在日志中写入一个条目,如果无法验证 TargetImages 表中的 ProductValidateFlags 字段,则不会返回错误。 仅当修补程序作者更改 ProductValidateFlags 字段中的值时,才应设置此属性。 此属性的默认值为 0。 从 Patchwiz.dll 版本 4.0 开始提供。 |
AllowProductCodeMismatches | 如果在 UpgradedImages 表中列出的升级映像与 TargetImages 表中列出的目标映像之间,ProductCode 属性可以不相同,则设置为“1”,表示 True。 如果产品代码必须相同,则设置为“0”或空白表示 False。 |
AllowProductVersionMajorMismatches | 如果 ProductVersion 属性的第一个字段(主版本字段)在升级的映像和目标映像之间可以不相同,则设置为“1 ”表示 True。 如果主要版本必须匹配,则设置为“0”或空白表示 False。 |
ApiPatchingSymbolFlags | 一个 8 位十六进制整数,表示创建二进制文件修补程序时要使用的修补程序符号用法标志的组合。 默认值为 0x00000000。 有关可能的 PATCH_SYMBOL_* 标志的完整列表,请参阅 Patchapi.h。 有关符号文件的详细信息,请参阅术语表。 |
DontRemoveTempFolderWhenFinished | 如果创建修补程序包后不移除包含转换、字节级修补程序和整个新文件的临时文件夹,则设置为“1”表示 True。 这实质上是 .msp 文件的内容,然后再嵌入到修补程序包中。 这对于调试修补程序可能很有用。 如果要移除临时文件夹,则设置为“0”或空白表示 False。 |
IncludeWholeFilesOnly | 如果在创建修补程序包而不是创建二进制文件修补程序时,需要包括要更改的整个文件,则设置为“1”,表示 True。 修补程序文件会更大,但 API 运行速度更快。 如果创建二进制文件修补程序,则设置为“0”或空白表示 False。 |
ListOfPatchGUIDsToReplace | 不带分隔符的 PatchGUID 标识符的列表。 如果发现其中任何修补程序已安装在用户的计算机上并在 Windows Installer 中注册,它们将从相应的产品中注销,并且其修补程序转换将从与产品关联的转换列表中移除。 请注意,移除修补程序不会影响任何文件,只影响修补程序的注册。 可选。 |
ListOfTargetProductCodes | 可能收到此修补程序的产品的产品代码的列表。 这是 ProductCode 属性值的分号分隔列表。 如果列表以星号开头,则通过 TargetImages 表中列出的目标的 .msi 文件生成产品代码列表。 如果任何产品代码后跟前导星号,则这些产品代码将被追加到列表中并替换掉星号。 如果未设置此属性,则通过 TargetImages 表中列出的目标的 .msi 文件生成产品代码列表。 |
MsiFileToUseToCreatePatchTables | 从中导出 Patch 表和 PatchPackage 表的模板 .msi 文件的完整路径。 可选。从 Patchwiz.dll 版本 4.0 开始,Properties 表接受路径的环境变量。 对环境变量使用 Windows 格式,例如 %ENV_VAR%。 请勿使用 Formatted 列数据类型。 |
OptimizePatchSizeForLargeFiles | 当值存在且不是“0”时,将设置此属性。 设置此属性后,大小大约超过 4 MB 的文件的修补程序可能进一步缩小。 |
PatchGUID | 此修补程序包(.msp 文件)的 GUID 标识符。 每个修补程序包必须具有唯一的 PatchGUID 值。 必需。 |
PatchOutputPath | 要生成的修补程序包文件的完整路径(包括文件名)。 如果 szPatchPath 由 UiCreatePatchPackageEx 函数传递,则使用传递的值。 如果 szPatchPath 为 null 或空字符串,则需要此属性。从 Patchwiz.dll 版本 4.0 开始,Properties 表接受路径的环境变量。 对环境变量使用 Windows 格式,例如 %ENV_VAR%。 请勿使用 Formatted 列数据类型。 |
PatchSourceList | 用于在本地缓存副本不可用时查找修补程序的 .msp 文件的源。 将修补程序应用于产品时,会将此值添加到修补程序的源列表中。 可选。 |
MinimumRequiredMsiVersion | 设置此属性以强制 Patchwiz.DLL 生成需要特定版本的 Windows Installer 的修补程序。 此属性值有助于确定要用于修补程序包的 Word Count Summary 属性的值。 此属性的值与安装包的 Page Count Summary 属性的格式相同。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 200,则 Patchwiz.DLL 会将 Word Count Summary 属性设置为 3。 这可以防止版本低于 2.0 的 Windows Installer 应用修补程序。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 300,则 Patchwiz.DLL 会将 Word Count Summary 属性设置为 4。 这可以防止版本低于 3.0 的 Windows Installer 应用修补程序。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 310,则 Patchwiz.DLL 会将 Word Count Summary 属性设置为 5。 这可以防止版本低于 3.1 的 Windows Installer 应用修补程序。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 400,则 Patchwiz.DLL 会将 Word Count Summary 属性设置为 6。 这可以防止版本低于 4.0 的 Windows Installer 应用修补程序。 |
PATCH_CACHE_ENABLED | 将此属性设置为 1 可在 PATCH_CACHE_DIR 属性指定的文件夹中缓存修补程序创建信息。 在更新更新映像后重新创建新修补程序时,修补程序缓存可以提高修补程序创建的速度。 在 Windows Installer 2.0 或更高版本中,此属性需要 Patchwiz.dll。 有关信息,请参阅修补程序信息缓存 (Patchwiz.dll)。 |
PATCH_CACHE_DIR | 将此属性设置为存储缓存修补程序信息的文件夹的名称。 如有必要,Patchwiz.dll 将创建此文件夹。 文件夹应位于具有足够磁盘空间的驱动器上。 仅当 PATCH_CACHE_ENABLED 属性设置为 1 时,才使用此属性。 从 Patchwiz.dll 版本 4.0 开始,Properties 表接受路径的环境变量。 对环境变量使用 Windows 格式,例如 %ENV_VAR%。 请勿使用 Formatted 列数据类型。 |
SEQUENCE_DATA_GENERATION_DISABLED | 将此属性设置为 1(一)可防止自动生成修补程序序列信息。 如果此属性不存在,则自动生成排序信息并添加。 |
SEQUENCE_DATA_SUPERSEDENCE | 将此属性设置为 0(零)或 1(一) 可将此值写入 MSIPatchSequence 表中所有行的 Attributes 字段。 |
TrustMsi | 在 Properties 表中将此属性设置为 1,以使用 .msi 文件中提供的文件版本信息、大小和哈希值。 如果设置了此属性,但 .msi 文件中的信息不正确,则创建的修补程序可能无法正常工作。 应使用MsiFiler.exe更新目标和升级 .msi 文件。 此属性的默认值为 0。 从 Patchwiz.dll 版本 4.0 开始提供。 |