Condividi tramite


Esempio di applicazione di patch multiple

L'esempio seguente mostra come è possibile usare Windows Installer 3.0 e versioni successive per applicare patch nell'ordine in cui vengono create.

Esempio

In questo esempio sono disponibili tre patch, QFE1, QFE2 e ServicePack1, ognuna con una tabella MsiPatchSequence . Queste patch sono state create per essere applicate alla versione 1.0 dell'applicazione.

Nome patch Tipo di patch Numero sequenza
QFE1 Aggiornamento di piccole dimensioni 1.1.0
QFE2 Aggiornamento di piccole dimensioni 1.2.0
ServicePack1 Aggiornamento secondario 1.3.0

 

La tabella MsiPatchSequence di ogni patch contiene un solo record contenente la famiglia di patch, il codice del prodotto e il numero di sequenza. Le tre patch vengono tutte applicate allo stesso prodotto e appartengono alla stessa famiglia di patch, denominata AppPatch. Nessuna delle patch ha l'attributo msidbPatchSequenceSupersedeEarlier .

Tabella MsiPatchSequence per l'aggiornamento di piccole dimensioni QFE1.

PatchFamily ProductCode Sequenza Attributi
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.1.0

 

Tabella MsiPatchSequence per l'aggiornamento di piccole dimensioni QFE2.

PatchFamily ProductCode Sequenza Attributi
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.2.0

 

Tabella MsiPatchSequence per l'aggiornamento secondario di ServicePack1.

PatchFamily ProductCode Sequenza Attributi
AppPatch {18A9233C-0B34-4127-A966-C257386270BC} 1.3.0

 

Se un utente installa la versione 1.0 del prodotto e quindi applica QFE2 e successivamente decide di applicare QFE1, Windows Installer garantisce che la sequenza effettiva dell'applicazione patch al prodotto venga applicata prima del QFE2. Se l'utente applica ServicePack1, applica QFE2 e QFE1 in un secondo momento, Windows Installer garantisce che la sequenza effettiva dell'applicazione patch al prodotto sia QFE1 prima di QFE2 e prima di ServicePack1.

Se ServicePack1 ha msidbPatchSequenceSupersedeEarlier impostato nella colonna Attributes della tabella MsiPatchSequence , significa che il Service Pack contiene tutte le modifiche in QFE1 e QFE2. In questo caso, QFE1 e QFE2 non vengono applicati quando viene applicato ServicePack1.

Windows Installer 2.0: Non supportato. Le versioni precedenti a Windows Installer 3.0 possono installare una sola patch per transazione e le patch vengono applicate nella sequenza specificata. Per l'esempio precedente, se QFE2 viene applicato per primo e quindi viene applicato QFE1, ovvero due transazioni e le patch vengono applicate alla versione 1.0 dell'applicazione nella sequenza QFE2 seguita da QFE1. Se ServicePack1 viene applicato per primo, non è possibile applicare QFE1 o QFE2 in una transazione successiva perché ServicePack1 è un aggiornamento secondario che modifica la versione dell'applicazione. QFE1 e QFE2 possono essere applicati solo alla versione 1.0 dell'applicazione.