属性表 (Patchwiz.dll)
属性表包含修补程序包的全局设置。 修补程序创建数据库(.pcp 文件)中需要属性表,UiCreatePatchPackageEx 函数使用。
“属性表”包含以下列。
列 | 类型 | 钥匙 | 空 |
---|---|---|---|
名字 | 发短信 | Y | N |
价值 | 发短信 | Y |
列
-
名称
-
修补程序创建属性的名称。
-
值
-
修补程序创建属性的值。
言论
下表标识可以输入到 .pcp 文件的 Properties 表中的修补程序创建属性字符串。
财产 | 描述 |
---|---|
AllowLaxValidationFlags | 如果此属性设置为 1,则会在日志中写入一个条目,如果无法验证 targetImages 表中的 ProductValidateFlags 字段,则不会返回任何错误。 只有在修补程序作者更改 ProductValidateFlags 字段中的值时,才应设置此属性。 此属性的默认值为 0。 从 Patchwiz.dll 版本 4.0 开始可用。 |
AllowProductCodeMismatches | 如果 ProductCode 属性可能与 UpgradedImages 表中列出的已升级映像 和 TargetImages 表中列出的目标映像中所列的目标映像不同,则设置为“1”。 如果产品代码必须相同,则设置为“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 | 从中导出 修补程序表 和 PatchPackage 表的模板 .msi 文件的完整路径。 Optional.Properties Table 接受从版本 4.0 开始 Patchwiz.dll的路径的环境变量。 使用环境变量的 Windows 格式,例如 %ENV_VAR%。 请勿使用 格式化 列数据类型。 |
OptimizePatchSizeForLargeFiles | 当值存在且不是“0”时,将设置此属性。 设置此属性后,文件大小大于 4 MB 的文件的修补程序可能会更小。 |
PatchGUID | 此修补程序包(.msp 文件)的 GUID 标识符。 每个修补程序包必须具有唯一的 PatchGUID 值。 必填。 |
PatchOutputPath | 要生成的修补程序包文件的完整路径(包括文件名)。 如果 szPatchPath 由 UiCreatePatchPackageEx 函数传递,则使用传递的值。 如果 szPatchPath 为 null 或空字符串,则此属性是必需的。属性表接受从版本 4.0 开始 Patchwiz.dll的路径的环境变量。 使用环境变量的 Windows 格式,例如 %ENV_VAR%。 请勿使用 格式化 列数据类型。 |
PatchSourceList | 一个源,用于在本地缓存副本不可用时查找修补程序的 .msp 文件。 当修补程序应用于产品时,此值将添加到修补程序的源列表中。 自选。 |
MinimumRequiredMsiVersion | 设置此属性以强制 Patchwiz.dll 生成需要特定版本的 Windows Installer 的修补程序。 此属性值有助于确定要用于修补包 字数摘要 属性的值。 此属性的值与安装包的 页计数摘要 属性的格式相同。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 200,Patchwiz.dll 将修补程序包的 字计数摘要 属性设置为 3。 这可以防止早于版本 2.0 的 Windows Installer 版本应用修补程序。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 300,Patchwiz.dll 将修补程序包的 字数摘要 属性设置为 4。 这可以防止早于版本 3.0 的 Windows Installer 版本应用修补程序。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 310,Patchwiz.dll 将修补程序包的 字计数摘要 属性设置为 5。 这可以防止早于版本 3.1 的 Windows Installer 应用修补程序。 如果 .pcp 文件的 MinimumRequiredMsiVersion 等于 400,Patchwiz.dll 会将修补程序包的 字计数摘要 属性设置为 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 时,才使用此属性。 Properties Table 接受从版本 4.0 开始 Patchwiz.dll的路径的环境变量。 使用环境变量的 Windows 格式,例如 %ENV_VAR%。 请勿使用 格式化 列数据类型。 |
SEQUENCE_DATA_GENERATION_DISABLED | 将此属性设置为 1(1),以防止自动生成修补程序序列化信息。 如果此属性不存在,则自动生成和添加排序信息。 |
SEQUENCE_DATA_SUPERSEDENCE | 将此属性设置为 0(零)或 1(1),以在 MsiPatchSequence 表中所有行的属性字段中写入该值。 |
TrustMsi | 在“属性表”中将此属性设置为 1,以使用 .msi 文件中提供的文件版本信息、大小和哈希值。 如果设置了此属性,但 .msi 文件中的信息不正确,则创建的修补程序可能无法正常工作。 应使用 MsiFiler.exe更新目标并升级 .msi 文件。 此属性的默认值为 0。 从 Patchwiz.dll 版本 4.0 开始可用。 |