Пример применения нескольких исправлений
В следующем примере показано, как установщик Windows 3.0 и более поздних версий можно использовать для применения исправлений в порядке их создания.
Пример
В этом примере есть три исправления: QFE1, QFE2 и ServicePack1, и каждое из них содержит таблицу MsiPatchSequence . Эти исправления были созданы для применения к версии 1.0 приложения.
Имя исправления | Тип исправления | Порядковый номер |
---|---|---|
QFE1 | Небольшое обновление | 1.1.0 |
QFE2 | Небольшое обновление | 1.2.0 |
ServicePack1 | Дополнительное обновление | 1.3.0 |
Таблица MsiPatchSequence каждого исправления содержит только одну запись, содержащую семейство исправлений, код продукта и порядковый номер. Все три исправления применяются к одному и тому же продукту и принадлежат к одному семейству исправлений с именем AppPatch. Ни одно из исправлений не имеет атрибут msidbPatchSequenceSupersedeEarlier .
Таблица MsiPatchSequence для небольшого обновления QFE1.
PatchFamily | ProductCode | Последовательность | Атрибуты |
---|---|---|---|
AppPatch | {18A9233C-0B34-4127-A966-C257386270BC} | 1.1.0 |
Таблица MsiPatchSequence для небольшого обновления QFE2.
PatchFamily | ProductCode | Последовательность | Атрибуты |
---|---|---|---|
AppPatch | {18A9233C-0B34-4127-A966-C257386270BC} | 1.2.0 |
Таблица MsiPatchSequence для дополнительного обновления ServicePack1.
PatchFamily | ProductCode | Последовательность | Атрибуты |
---|---|---|---|
AppPatch | {18A9233C-0B34-4127-A966-C257386270BC} | 1.3.0 |
Если пользователь устанавливает версию 1.0 продукта, а затем применяет QFE2, а затем позже решает применить QFE1, установщик Windows гарантирует, что эффективная последовательность приложения исправлений для продукта применяется QFE1 перед QFE2. Если пользователь применяет ServicePack1, а затем применяет QFE2 и QFE1 вместе на более позднем этапе, установщик Windows гарантирует, что эффективная последовательность приложения исправлений для продукта QFE1 опережает QFE2 и опережает ServicePack1.
Если servicePack1 имеет msidbPatchSequenceSupersedeEarlier в столбце Attributes таблицы MsiPatchSequence , это означает, что пакет обновления содержит все изменения в QFE1 и QFE2. В этом случае QFE1 и QFE2 не применяются при применении ServicePack1.
Установщик Windows 2.0: Не поддерживается. Версии, предшествующие установщику Windows 3.0, могут устанавливать только одно исправление для каждой транзакции, а исправления применяются в той последовательности, в какой они предоставляются. В предыдущем примере, если сначала применяется QFE2, а затем применяется QFE1, то есть две транзакции и исправления применяются к версии 1.0 приложения в последовательности QFE2, за которой следует QFE1. Если ServicePack1 применяется первым, то QFE1 или QFE2 нельзя применить в более поздней транзакции, так как ServicePack1 является незначительным обновлением, которое изменяет версию приложения. QFE1 и QFE2 можно применять только к версии 1.0 приложения.