Exemple de mises à jour correctives multiples

L’exemple suivant montre comment utiliser Windows Installer 3.0 et versions ultérieures pour appliquer des correctifs dans l’ordre dans lequel ils sont créés.

Exemple

Dans cet exemple, trois correctifs, QFE1, QFE2 et ServicePack1 ont chacun une table MsiPatchSequence. Ces correctifs ont été créés pour être appliqués à la version 1.0 de l’application.

Nom du correctif Type de correctif Numéro de séquence
QFE1 Petite mise à jour 1.1.0
QFE2 Petite mise à jour 1.2.0
ServicePack1 Mise à niveau mineure 1.3.0

 

La table MsiPatchSequence de chaque correctif ne comporte qu’un seul enregistrement qui contient la famille de correctifs, le code de produit et le numéro de séquence. Les trois correctifs sont tous appliqués au même produit et appartiennent à la même famille de correctifs, nommée AppPatch. Aucun des correctifs n’a l’attribut msidbPatchSequenceSupersedeEarlier.

Table MsiPatchSequence pour la petite mise à jour QFE1.

PatchFamily ProductCode Séquence Attributs
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.1.0

 

Table MsiPatchSequence pour la petite mise à jour QFE2.

PatchFamily ProductCode Séquence Attributs
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.2.0

 

Table MsiPatchSequence pour la mise à niveau mineure ServicePack1.

PatchFamily ProductCode Séquence Attributs
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.3.0

 

Si un utilisateur installe la version 1.0 du produit, et applique ensuite QFE2, puis décide d’appliquer QFE1, Windows Installer vérifie que la séquence effective d’application des correctifs au produit est QFE1 avant QFE2. Si l’utilisateur applique ServicePack1, puis applique QFE2 et QFE1 ensemble plus tard, Windows Installer vérifie que la séquence effective d’application des correctifs au produit est QFE1 avant QFE2 avant ServicePack1.

Si ServicePack1 a msidbPatchSequenceSupersedeEarlier défini dans la colonne Attributes de sa table MsiPatchSequence, cela signifie que le Service Pack contient tous les changements apportés dans QFE1 et QFE2. Dans ce cas, QFE1 et QFE2 ne sont pas appliqués quand ServicePack1 est appliqué.

Windows Installer 2.0 : Non pris en charge. Les versions antérieures à Windows Installer 3.0 ne peuvent installer qu’un seul correctif par transaction. Les correctifs sont appliqués dans l’ordre où ils sont fournis. Pour l’exemple précédent, si QFE2 est appliqué en premier, et QFE1 ensuite, cela signifie que deux transactions et les correctifs sont appliqués à la version 1.0 de l’application selon la séquence QFE2 suivi de QFE1. Si ServicePack1 est appliqué en premier, QFE1 ou QFE2 ne peuvent pas être appliqués plus tard, car ServicePack1 est une mise à niveau mineure qui change la version de l’application. QFE1 et QFE2 peuvent uniquement être appliqués à la version 1.0 de l’application.