Tabela MsiPatchSequence
Tabela MsiPatchSequence zawiera wszystkie informacje, które instalator wymaga określenia sekwencji stosowania małej aktualizacji poprawki względem wszystkich innych poprawek. Tabela musi znajdować się w bazie danych pliku poprawek, a nie w transformacji w poprawce. Instalator ignoruje tę tabelę podczas stosowania aktualizacji głównej poprawki. Podczas stosowania poprawki drobnego uaktualnienia instalator używa tej tabeli tylko do identyfikowania zastąpionych poprawek, które nie mogą być sekwencjonowane.
Tabela MsiPatchSequence zawiera następujące kolumny.
Kolumna | Typ | Klucz | Nullable |
---|---|---|---|
PatchFamily | identyfikator | Y | N |
Kod produktu | identyfikator GUID | Y | Y |
Kolejność | wersji | N | N |
Atrybuty | liczba całkowita | N | Y |
Kolumny
-
PatchFamily
-
Określa, że poprawka jest członkiem rodziny poprawek o nazwie w tym polu. Poprawki w tej samej rodzinie poprawek, które dotyczą tej samej wersji produktu, są sortowane według wartości w kolumnie Sekwencja. Poprawki w rodzinie poprawek są stosowane do produktu docelowego w kolejności rosnącej sekwencji. PatchFamily służy również do określania, które poprawki mają zostać zastąpione. Poprawka może być wymieniona w wielu wierszach i należeć do wielu rodzin poprawek, jeśli dotyczy więcej niż jednego produktu lub zawiera wiele poprawek.
Instalator Windows nie interpretuje wartości PatchFamily w żaden sposób inny niż porównania równości z innymi wartościami PatchFamily. Wartość PatchFamily musi być unikatowa w ramach kodu produktu objętego zestawem poprawek. W złożonych scenariuszach stosowania poprawek identyfikator PatchFamily może być globalnie unikatowy.
-
kod produktu
-
Wartość w tym polu jest opcjonalna. Jeśli w tym polu zostanie wprowadzony kod produktu identyfikator GUID, a poprawka jest stosowana do określonego produktu, poprawka jest sortowana i stosowana jako element członkowski określonego patchFamily. Jeśli w tym polu wprowadzono identyfikator GUID kodu produktu, a poprawka nie jest stosowana do produktu określonego przez kod produktu, ten wiersz jest ignorowany. Jeśli wartość w elemencie ProductCode ma wartość NULL, poprawka jest sortowana i stosowana jako element członkowski PatchFamily dla wszystkich elementów docelowych poprawki niezależnie od kodu produktu.
Poprawka może zawierać wiele wierszy w tym samym patchFamily i innym kodzie Produktu dla każdego produktu objętego poprawką. Jeden wiersz patchFamily może określać wartość NULL dla elementu ProductCode. Jeśli produkt docelowy pasuje do wiersza z kodem ProductCode innej niż NULL, instalator używa pasującego wiersza i ignoruje wiersz z kodem ProductCode o wartości NULL. Jeśli żaden z określonych kodów produktów nie jest zgodny z celem, poprawka jest sortowana i stosowana jako element członkowski PatchFamily dla wszystkich elementów docelowych poprawki niezależnie od kodu produktu.
-
sekwencja
-
Wartość w kolumnie Sekwencja określa sekwencję tej poprawki w ramach określonej poprawkiFamily. Wartość w sekwencji jest wyrażona w formacie danych wersji. Wartość zawiera od 1 do 4 pól, a każde pole ma zakres od 0 do 65535. Elementy członkowskie PatchFamily są sortowane i stosowane do produktu docelowego w kolejności zwiększania wartości sekwencji. Na przykład następujące sześć wartości zwiększa się: 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.
-
atrybuty
-
Obecność atrybutu msidbPatchSequenceSupersedeEarlier w wierszu wskazuje, że mała aktualizacja poprawki zastępuje aktualizacje udostępniane przez wszystkie poprawki z mniejszymi wartościami sekwencji w tym samym patchFamily. Ta poprawka zawiera wszystkie poprawki dostarczone przez wcześniejsze poprawki w określonym patchFamily. Ten atrybut nie oznacza, że ta poprawka zastępuje wcześniejsze poprawki we wszystkich przypadkach, ponieważ wcześniejsze poprawki mogą należeć do wielu rodzin poprawek.
Poprawka aktualizacji nie może zastąpić drobnego uaktualnienia lub aktualizacji głównej poprawki, nawet jeśli ustawiono msidbPatchSequenceSuperseEarlier.
Nazwa Wartość Znaczenie 0x00 Wskazuje prostą wartość sekwencjonowania. msidbPatchSequenceSupersedeEarlier 0x01 Wskazuje poprawkę, która zastępuje wcześniejsze poprawki w tej rodzinie.
Walidacja
Tematy pokrewne