MsiPatchSequence 表
MsiPatchSequence 表包含安装程序确定相对于所有其他修补程序 小更新 修补程序的应用程序顺序的所有信息。 该表必须位于修补程序文件的数据库中,而不是在修补程序中的转换中。 安装程序在应用 修补程序 主升级时忽略此表。 在 修补程序应用 次要升级时,安装程序仅使用此表来标识不能排序的被取代的修补程序。
MsiPatchSequence 表 包含以下列。
列 | 类型 | 钥匙 | 空 |
---|---|---|---|
PatchFamily | 标识符 | Y | N |
ProductCode | GUID | Y | Y |
序列 | 版本 | N | N |
属性 | 整数 | N | Y |
列
-
PatchFamily
-
指定修补程序是在此字段中命名的修补程序系列的成员。 以相同产品版本为目标的同一修补程序系列中的修补程序按 Sequence 列中的值进行排序。 修补程序系列中的修补程序按递增顺序应用于目标产品。 PatchFamily 还用于确定要取代哪些修补程序。 如果修补程序适用于多个产品或包含多个修补程序,则修补程序可能列在多个行中,并属于多个修补程序系列。
除了与其他 PatchFamily 值进行比较之外,Windows Installer 不会以任何其他方式解释 PatchFamily 值。 PatchFamily 值在 ProductCode 中必须是唯一的,由修补程序集设定。 在复杂的修补方案中,PatchFamily 标识符可能需要全局唯一。
-
ProductCode
-
此字段中的值是可选的。 如果在此字段中输入了 代码示例 GUID,并且修补程序将应用于指定产品,则会对修补程序进行排序并应用为指定 PatchFamily 的成员。 如果在此字段中输入了一个代码示例 GUID,并且修补程序未应用于 ProductCode 指定的产品,则忽略此行。 如果 ProductCode 中的值为 NULL,则会对修补程序进行排序,并将其作为 PatchFamily 的成员应用于修补程序的所有目标,而不考虑产品代码。
一个修补程序可以在同一 PatchFamily 中具有多个行,每个产品针对修补程序的目标都有不同的 ProductCode。 PatchFamily 的一行可以为 ProductCode 指定 NULL。 如果目标产品与非 NULL ProductCode 的行匹配,安装程序将使用匹配行,并忽略具有 NULL ProductCode 的行。 如果指定的错误代码都与目标不匹配,则会对修补程序进行排序,并将其作为 PatchFamily 成员应用于修补程序的所有目标,而不考虑产品代码。
-
序列
-
Sequence 列中的值指定指定指定 PatchFamily 中此修补程序的序列。 Sequence 中的值以版本 数据 格式表示。 该值包含 1 到 4 个字段,每个字段的范围为 0 到 65535。 PatchFamily 的成员按递增序列值的顺序对目标产品进行排序和应用。 例如,以下六个值正在增加:1、1.1、1.2、2.01、2.01.1、2.01.1.1。
-
属性
-
行中存在 msidbPatchSequenceSupersedeEarlier 属性表示 小更新 修补程序取代了同一 PatchFamily 中具有较低序列值的所有修补程序提供的更新。 此修补程序包含指定 PatchFamily 中早期修补程序提供的所有修补程序。 此属性并不意味着此修补程序会取代所有情况下的早期修补程序,因为早期修补程序可以属于多个修补程序系列。
即使设置了 msidbPatchSequenceSupersedeEarlier,小更新 修补程序也不能取代 或 主升级 修补程序。
名字 价值 意义 0x00 指示简单的排序值。 msidbPatchSequenceSupersedeEarlier 0x01 指示取代此系列中早期修补程序的修补程序。
验证
相关主题