Поделиться через


Таблица MsiPatchSequence

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

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

Столбец Тип Ключ Допустимое значение NULL
PatchFamily идентификатора Y N
ProductCode GUID Y Y
Последовательность версии N N
Атрибуты целочисленного N Y

 

Столбцы

PatchFamily

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

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

ProductCode

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

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

последовательность

Значение в столбце последовательности указывает последовательность этого исправления в указанном patchFamily. Значение последовательности выражается в формате данных версии. Значение содержит от 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 Указывает исправление, заменяющее более ранние исправления в этой семье.

 

Ратификация

ICE03
ICE06

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