Таблица MsiPatchSequence

Таблица MsiPatchSequence содержит все сведения, необходимые установщику для определения последовательности применения небольшого исправления обновления относительно всех остальных исправлений. Таблица должна находиться в базе данных файла исправления, а не в преобразовании в исправлении. Установщик игнорирует эту таблицу при применении крупного исправления обновления . При применении небольшого исправления обновления установщик использует эту таблицу только для определения заменяемых исправлений, которые не должны быть упорядочены.

Таблица MsiPatchSequence содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
PatchFamily Идентификатор Да N
ProductCode GUID Да Да
Последовательность Версия Нет Нет
Атрибуты Целое число Нет Да

 

Столбцы

PatchFamily

Указывает, что исправление является членом семейства исправлений с именем в этом поле. Исправления в том же семействе исправлений, предназначенных для той же версии продукта, сортируются по значениям в столбце Последовательности. Исправления в семействе исправлений применяются к целевому продукту в порядке увеличения последовательности. PatchFamily также используется для определения замены исправлений. Исправление может быть указано в нескольких строках и относиться к нескольким семействам исправлений, если оно применяется к нескольким продуктам или включает несколько исправлений.

Установщик Windows не интерпретирует значение PatchFamily каким-либо иным способом, кроме сравнений на равенство с другими значениями PatchFamily. Значение PatchFamily должно быть уникальным в productCode, на который нацелен набор исправлений. В сложных сценариях исправления идентификатор PatchFamily может быть глобально уникальным.

Код продукта

Значение в этом поле является необязательным. Если в этом поле введен GUID кода продукта и исправление применяется к указанному продукту, исправление сортируется и применяется как член указанного PatchFamily. Если в этом поле введен GUID кода продукта, а исправление не применяется к продукту, указанному в ProductCode, эта строка игнорируется. Если значение в ProductCode равно NULL, исправление сортируется и применяется как член PatchFamily для всех целевых объектов исправления независимо от кода продукта.

Исправление может содержать несколько строк в одном PatchFamily и отдельный Код Продукта для каждого продукта, на который нацелено исправление. В одной строке patchFamily можно указать значение NULL для ProductCode. Если целевой продукт соответствует строке с ProductCode, отличной от NULL, установщик использует соответствующую строку и игнорирует строку с кодом ProductCode NULL. Если ни один из указанных кодов продукта не соответствует целевому объекту, исправление сортируется и применяется как член PatchFamily для всех целевых объектов исправления независимо от кода продукта.

Последовательности

Значение в столбце Sequence указывает последовательность этого исправления в указанном PatchFamily. Значение в последовательности выражается в формате данных version . Значение содержит от 1 до 4 полей, и каждое поле имеет диапазон от 0 до 65535. Члены PatchFamily сортируются и применяются к целевому продукту в порядке увеличения значений последовательности. Например, увеличиваются следующие шесть значений: 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.1.

Атрибуты

Наличие в строке атрибута msidbPatchSequenceSupersedeEarlier указывает на то, что исправление небольшого обновления заменяет обновления, предоставляемые всеми исправлениями, с меньшими значениями Sequence в том же PatchFamily. Это исправление содержит все исправления, предоставляемые более ранними исправлениями в указанном PatchFamily. Этот атрибут не означает, что это исправление во всех случаях заменяет предыдущие исправления, так как более ранние исправления могут относиться к нескольким семействам исправлений.

Небольшое исправление обновления не может заменять незначительное обновление или основное обновление ни при каких обстоятельствах, даже если задан msidbPatchSequenceSupersedeEarlier.

Имя Значение Значение
0x00 Указывает простое значение последовательности.
msidbPatchSequenceSupersedeEarlier 0x01 Указывает исправление, заменяющее более ранние исправления в этом семействе.

 

Проверка

ICE03
ICE06

Не поддерживается в установщике Windows 2.0 и более ранних версий