MsiPatchSequence, table

La table MsiPatchSequence contient toutes les informations nécessaires au programme d’installation pour déterminer la séquence d’application d’un correctif de petite mise à jour par rapport à tous les autres correctifs. La table doit se trouver dans la base de données du fichier correctif, et non dans une transformation du correctif. Le programme d’installation ignore cette table quand il applique un correctif de mise à niveau majeure. Quand vous appliquez un correctif de mise à niveau mineure, le programme d’installation utilise uniquement cette table pour identifier les correctifs remplacés qui ne doivent pas être séquencés.

La table MsiPatchSequence comporte les colonnes suivantes.

Colonne Type Clé Nullable
PatchFamily Identificateur O N
ProductCode GUID O O
Séquence Version N N
Attributs Integer N O

 

Colonnes

PatchFamily

Spécifie que le correctif est membre de la famille de correctifs nommée dans ce champ. Les correctifs de la même famille de correctifs qui ciblent la même version de produit sont triés en fonction des valeurs de la colonne Sequence. Les correctifs de la famille de correctifs sont appliqués au produit cible dans l’ordre de séquence croissant. PatchFamily permet également de déterminer les correctifs à remplacer. Un correctif peut être listé sur plusieurs lignes et appartenir à plusieurs familles de correctifs, s’il s’applique à plusieurs produits ou s’il comprend plusieurs corrections.

Windows Installer interprète uniquement la valeur de PatchFamily à des fins de comparaison d’égalité avec d’autres valeurs de PatchFamily. La valeur de PatchFamily doit être unique dans le ProductCode ciblé par l’ensemble des correctifs. Dans les scénarios de mise à jour corrective complexes, l’identificateur de PatchFamily doit être un identificateur global unique.

ProductCode

La valeur de ce champ est facultative. Si un GUID de code de produit est entré dans ce champ et si le correctif est appliqué au produit spécifié, le correctif est trié et appliqué en tant que membre du PatchFamily spécifié. Si un GUID de code de produit est entré dans ce champ et si le correctif n’est pas appliqué au produit spécifié par ProductCode, cette ligne est ignorée. Si la valeur de ProductCode est NULL, le correctif est trié et appliqué en tant que membre de PatchFamily pour toutes les cibles du correctif, quel que soit le code de produit.

Un correctif peut avoir plusieurs lignes dans le même PatchFamily et un ProductCode distinct pour chaque produit ciblé par le correctif. Une ligne de PatchFamily peut spécifier la valeur NULL pour ProductCode. Si le produit cible correspond à une ligne ayant un ProductCode non NULL, le programme d’installation utilise la ligne correspondante et ignore la ligne ayant le ProductCode NULL. Si aucun des codes de produit spécifiés ne correspond à la cible, le correctif est trié et appliqué en tant que membre de PatchFamily pour toutes les cibles du correctif, quel que soit le code de produit.

Sequence

La valeur de la colonne Sequence spécifie la séquence de ce correctif dans le PatchFamily spécifié. La valeur dans Sequence est exprimée au format de données Version. La valeur contient entre 1 et 4 champs, et chaque champ comporte une plage comprise entre 0 et 65 535. Les membres de PatchFamily sont triés et appliqués au produit cible dans l’ordre croissant des valeurs de Sequence. Par exemple, les six valeurs suivantes sont croissantes : 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.1.

Attributes

La présence de l’attribut msidbPatchSequenceSupersedeEarlier dans une ligne indique que le correctif de petite mise à jour remplace les mises à jour fournies par tous les correctifs ayant des valeurs Sequence inférieures dans le même PatchFamily. Ce correctif contient toutes les corrections apportées par les correctifs antérieurs dans le PatchFamily spécifié. Cet attribut ne signifie pas que ce correctif remplace les correctifs antérieurs dans tous les cas, car les correctifs antérieurs peuvent appartenir à plusieurs familles de correctifs.

Un correctif de petite mise à jour ne peut en aucun cas remplacer un correctif de mise à niveau mineure ou de mise à niveau majeure, même si msidbPatchSequenceSupersedeEarlier est défini.

Nom Valeur Signification
0x00 Indique une valeur de séquencement simple.
msidbPatchSequenceSupersedeEarlier 0x01 Indique un correctif qui remplace les correctifs antérieurs de cette famille.

 

Validation

ICE03
ICE06

Non pris en charge par Windows Installer 2.0 et antérieur