Ejemplo de aplicación de revisiones múltiples

En el ejemplo siguiente se muestra cómo se puede usar Windows Installer 3.0 y versiones posteriores para aplicar revisiones en el orden en que se crean.

Ejemplo

En este ejemplo hay tres revisiones, QFE1, QFE2 y ServicePack1, y cada una tiene una tabla MsiPatchSequence. Estas revisiones se han creado para aplicarse a la versión 1.0 de la aplicación.

Nombre de revisión Tipo de revisión Sequence Number
QFE1 Actualización pequeña 1.1.0
QFE2 Actualización pequeña 1.2.0
ServicePack1 Actualización secundaria 1.3.0

 

La tabla MsiPatchSequence de cada revisión tiene solo un registro que contiene la familia de revisiones, el código de producto y el número de secuencia. Las tres revisiones se aplican al mismo producto y pertenecen a la misma familia de revisiones, llamada AppPatch. Ninguna de las revisiones tiene el atributo msidbPatchSequenceSupersedeEarlier.

Tabla MsiPatchSequence para la actualización pequeña QFE1.

PatchFamily ProductCode Secuencia Atributos
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.1.0

 

Tabla MsiPatchSequence para la actualización pequeña QFE2.

PatchFamily ProductCode Secuencia Atributos
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.2.0

 

Tabla MsiPatchSequence para la actualización secundaria de ServicePack1.

PatchFamily ProductCode Secuencia Atributos
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.3.0

 

Si un usuario instala la versión 1.0 del producto, luego aplica QFE2 y más adelante decide aplicar QFE1, Windows Installer garantiza que la secuencia efectiva de aplicación de revisiones al producto es la aplicación de QFE1 antes que QFE2. Si el usuario aplica ServicePack1 y luego aplica QFE2 y QFE1 juntos en una fecha posterior, Windows Installer garantiza que la secuencia efectiva de aplicación de revisiones al producto es QFE1 antes que QFE2 y antes que ServicePack1.

Si ServicePack1 tiene msidbPatchSequenceSupersedeEarlier establecido en la columna Attributes de su tabla MsiPatchSequence, significa que el Service Pack contiene todos los cambios en QFE1 y QFE2. En este caso, QFE1 y QFE2 no se aplican cuando se aplica ServicePack1.

Windows Installer 2.0: No se admite. Las versiones anteriores a Windows Installer 3.0 solo pueden instalar una revisión por transacción y las revisiones se aplican en la secuencia en la que se proporcionan. En el ejemplo anterior, si se aplica primero QFE2 y luego QFE1, se trata de dos transacciones y las revisiones se aplican a la versión 1.0 de la aplicación en la secuencia QFE2 seguida de QFE1. Si se aplica primero ServicePack1, no se puede aplicar QFE1 o QFE2 en una transacción posterior porque ServicePack1 es una actualización secundaria que cambia la versión de la aplicación. QFE1 y QFE2 solo se pueden aplicar a la versión 1.0 de la aplicación.