MsiPatchMetadata 表

MsiPatchMetadata 表包含有关删除修补程序所需的 Windows Installer 修补程序的信息,以及 添加/删除程序所使用的修补程序。

无法删除修补程序数据库(.msp 文件)中未安装此表的修补程序,并且缺少 添加/删除程序的某些信息。 该表必须位于修补程序文件的数据库中,而不是在修补程序中的转换中。

MsiPatchMetadata 表具有以下列。

类型 钥匙
公司 标识符 Y Y
财产 标识符 Y N
价值 文本 N N

 

公司

公司的名称。 空字段(Null 值)指示该行包含 Windows Installer 的标准元数据属性之一。 有关详细信息,请参阅本主题的“备注”部分。

通过将行添加到表中并在此字段中输入公司名称,可以添加任何公司以扩展属性集。

属性

元数据属性的名称。

元数据属性的值。 这永远不能为 Null 或空字符串。

言论

在 Windows Installer 3.0 及更高版本中可用。

MsiPatchMetadata 表中包含 Null 值的行在 CompanyName 字段中引用以下标准 Windows Installer 元数据属性之一。

财产 描述
AllowRemoval 指示修补程序是否为 可卸载修补程序。 如果值字段包含 0(零),则无法删除修补程序。 如果值字段包含一个(1),则修补程序是一个可卸载的 Patch。此属性已注册,并且可以使用 MsiGetPatchInfoEx 函数获取其值。
ManufacturerName 应用程序制造商的名称。
MinorUpdateTargetRTM 指示修补程序面向产品的 RTM 版本或最新的主要升级修补程序。 在次要升级修补程序中创作此可选属性,其中包含排序信息,以指示修补程序会删除产品 RTM 版本或最新的主要升级修补程序的所有修补程序。 此属性在 Windows Installer 3.1 及更高版本中可用。
TargetProductName 应用程序或目标应用程序套件的名称。
MoreInfoURL 提供特定于此修补程序的信息的 URL。 此属性已注册,其值可以使用 MsiGetPatchInfoEx 函数获取。 从带有 Service Pack 2 的 Windows XP(SP2 开始),此值可以是 添加/删除程序中显示的修补程序的支持链接。
CreationTimeUTC .msp 文件的创建时间,格式为 mm-dd-yy HH:MM(月-日-年小时:分钟)。
DisplayName 可用于公共显示的修补程序的标题。 此属性已注册,并且可以使用 MsiGetPatchInfoEx 函数获取其值。 从 Windows XP SP2 开始,此值是 “添加/删除程序”中显示的修补程序的名称。
描述 修补程序的简要说明。
分类 一个字符串值,该值包含由修补程序作者定义的任意更新类别。 例如,修补程序作者可以指定每个修补程序被归类为修补程序、安全汇总、关键更新、更新、Service Pack 或更新汇总。 此属性是必需的。
OptimizeCA 指示应用修补程序时 Windows Installer 是否应跳过自定义作。 这可以减少应用修补程序所需的时间。 OptimizeCA 属性可以具有以下值之一:
  • 0 - 不要跳过任何自定义作。
  • 1 - 跳过属性和目录分配自定义作。 自定义作类型 35自定义作类型 51 可以是属性和目录分配自定义作。
  • 2 - 跳过不属于属性或目录分配的即时自定义作。 即时自定义作不包括 CustomAction Table的 Type 列中的 msidbCustomActionTypeInScript 选项。
  • 4 - 跳过脚本中运行的自定义作。
对于要安装的所有修补程序,OptimizeCA 的值必须相同,否则不会跳过任何自定义作。 例如,如果安装了两个修补程序,并且 OptimizeCA 分别设置为值 1 和 2,则不会跳过任何自定义作。
处理多个新修补程序时,可以组合 OptimizeCA 的值。 如果所有修补程序都包含在值中的 1(1),则会跳过所有属性和目录分配自定义作。 如果一个修补程序的属性值为 3(3),并且一个修补程序的属性值为 1(1),则会跳过属性和目录分配自定义作。 但是,其他即时自定义作会运行,因为并非所有请求的修补程序都将被跳过。
OptimizedInstallMode 如果在事务中应用的所有修补程序中此属性设置为 1(一个),则会尽可能优化修补程序的应用程序。 有关详细信息,请参阅 修补程序优化。 从 Windows Installer 3.1 开始可用。

 

验证

ICE03
ICE06

Windows Installer 2.0 及更早版本中不支持