Freigeben über


MsiPatchSequence-Tabelle

Die MsiPatchSequence-Tabelle enthält alle Informationen, die das Installationsprogramm benötigt, um die Reihenfolge der Anwendung eines kleinen Updates Patch relativ zu allen anderen Patches zu bestimmen. Die Tabelle muss sich in der Datenbank der Patchdatei und nicht in einer Transformation im Patch befinden. Das Installationsprogramm ignoriert diese Tabelle beim Anwenden eines hauptupgrades Patch. Beim Anwenden eines kleineren Upgrades Patch verwendet das Installationsprogramm nur diese Tabelle, um ersetzte Patches zu identifizieren, die nicht sequenziert werden dürfen.

Die MsiPatchSequence-Tabelle enthält die folgenden Spalten.

Spalte Art Schlüssel Nullable
PatchFamily Bezeichner Y N
ProductCode GUID- Y Y
Reihenfolge Version N N
Attribute ganze Zahl N Y

 

Spalten

PatchFamily

Gibt an, dass der Patch ein Mitglied der Patchfamilie ist, die in diesem Feld benannt ist. Patches in derselben Patchfamilie, die auf dieselbe Produktversion abzielen, werden nach den Werten in der Spalte "Sequenz" sortiert. Die Patches innerhalb der Patchfamilie werden auf das Zielprodukt in der Reihenfolge der zunehmenden Sequenz angewendet. Der PatchFamily wird auch verwendet, um zu bestimmen, welche Patches abgelöst werden sollen. Ein Patch kann in mehreren Zeilen aufgeführt werden und zu mehreren Patchfamilien gehören, wenn er auf mehrere Produkte angewendet wird oder mehrere Fixes enthält.

Der PatchFamily-Wert wird vom Windows Installer nicht auf andere Weise als Vergleiche für die Gleichheit mit anderen PatchFamily-Werten interpretiert. Ein PatchFamily-Wert muss innerhalb des ProductCode eindeutig sein, der von den Patches bestimmt ist. In den komplexen Patchingszenarien muss der PatchFamily-Bezeichner möglicherweise global eindeutig sein.

ProductCode

Ein Wert in diesem Feld ist optional. Wenn ein Produktcode GUID in dieses Feld eingegeben wird und der Patch auf das angegebene Produkt angewendet wird, wird der Patch sortiert und als Mitglied des angegebenen PatchFamily angewendet. Wenn in dieses Feld eine Produktcode-GUID eingegeben wird und der Patch nicht auf das durch ProductCode angegebene Produkt angewendet wird, wird diese Zeile ignoriert. Wenn der Wert in ProductCode NULL ist, wird der Patch unabhängig vom Produktcode als Element von PatchFamily für alle Ziele des Patches sortiert und angewendet.

Ein Patch kann mehrere Zeilen in demselben PatchFamily und einen anderen ProductCode für jedes Produkt aufweisen, das vom Patch verwendet wird. Eine Zeile für patchFamily kann NULL für ProductCode angeben. Wenn das Zielprodukt einer Zeile mit einem Nicht-NULL-ProductCode entspricht, verwendet das Installationsprogramm die übereinstimmende Zeile und ignoriert die Zeile mit dem NULL-ProductCode. Wenn keiner der angegebenen Produktcodes mit dem Ziel übereinstimmt, wird der Patch unabhängig vom Produktcode als Mitglied von PatchFamily für alle Ziele des Patches sortiert und angewendet.

Sequenz

Der Wert in der Spalte "Sequenz" gibt die Sequenz dieses Patches innerhalb des angegebenen PatchFamily an. Der Wert in Sequence wird im Format Version Daten ausgedrückt. Der Wert enthält zwischen 1 und 4 Feldern, und jedes Feld weist einen Bereich von 0 bis 65535 auf. Elemente von PatchFamily werden sortiert und auf das Zielprodukt in der Reihenfolge erhöhter Sequenzwerte angewendet. Beispielsweise werden die folgenden sechs Werte erhöht: 1, 1,1, 1,2, 2.01, 2.01.1, 2.01.1.1.

Attribute

Das Vorhandensein des msidbPatchSequenceSupersedeEarlier Attributs in einer Zeile gibt an, dass das kleine Update Patch die Updates ersetzt, die von allen Patches mit weniger Sequenzwerten in derselben PatchFamily bereitgestellt werden. Dieser Patch enthält alle Korrekturen, die von früheren Patches im angegebenen PatchFamily bereitgestellt werden. Dieses Attribut bedeutet nicht, dass dieser Patch die früheren Patches in allen Fällen ersetzt, da die früheren Patches zu mehreren Patchfamilien gehören können.

Ein kleines Update Patch kann ein kleineres Upgrade oder major upgrade Patch unter allen Umständen nicht ersetzen, auch wenn das msidbPatchSequenceSupersedeEarlier festgelegt ist.

Name Wert Bedeutung
0x00 Gibt einen einfachen Sequenzierungswert an.
msidbPatchSequenceSupersedeEarlier 0x01 Gibt einen Patch an, der frühere Patches in dieser Familie ersetzt.

 

Validierung

ICE03-
ICE06-

in Windows Installer 2.0 und früheren nicht unterstützt