Pacchetti patch

Una patch di Windows Installer (file msp) è un file usato per recapitare gli aggiornamenti alle applicazioni Di Windows Installer. La patch è un pacchetto autonomo che contiene tutte le informazioni necessarie per aggiornare l'applicazione. Un pacchetto patch (file msp) può essere molto più piccolo del pacchetto di Windows Installer (file .msi) per l'intera applicazione aggiornata. Per altre informazioni sul recapito di aggiornamenti più piccoli alle applicazioni, vedere Riduzione delle dimensioni delle patch.

Un pacchetto patch contiene gli aggiornamenti effettivi all'applicazione e descrive le versioni dell'applicazione che possono ricevere la patch. Le patch contengono almeno due trasformazioni di database. Una trasformazione aggiorna le informazioni nel database di installazione dell'applicazione. L'altra trasformazione aggiunge informazioni usate dal programma di installazione per l'applicazione di patch ai file. Il programma di installazione usa le informazioni fornite dalle trasformazioni per applicare i file patch archiviati nel flusso di file cab del pacchetto patch. Un pacchetto patch non dispone di un database come un pacchetto di installazione (.msi file).

A partire da Windows Installer versione 3.0, i pacchetti patch possono contenere informazioni che descrivono la sequenza di applicazione di patch per la patch rispetto ad altri aggiornamenti nella tabella MsiPatchSequence e informazioni descrittive aggiuntive nella tabella MsiPatchMetadata .

Gli utenti possono installare applicazioni e aggiornamenti da un'immagine amministrativa di rete. Anche se i pacchetti di patch possono essere applicati alle installazioni amministrative, il metodo consigliato per recapitare gli aggiornamenti consiste nell'installare l'applicazione originale e quindi applicare le patch all'istanza locale dell'applicazione nel computer. In questo modo gli utenti vengono sincronizzati con l'immagine amministrativa. Se viene applicata una patch all'installazione amministrativa, tutti i client dell'installazione amministrativa devono ripetere e reinstallare l'applicazione per ricevere l'aggiornamento. Fino a quando un utente non recupera e reinstalla, l'utente non è in grado di installare e ripristinare le installazioni dall'installazione amministrativa con patch.

A partire da Windows Installer 3.0, gli amministratori non possono applicare patch alle applicazioni gestite per utente dopo l'approvazione della patch come attendibile da un amministratore. Per altre informazioni su come eseguire questa operazione, vedere Applicazione di patch Per-User applicazioni gestite. Un altro metodo consiste nell'usare l'applicazione di patch agli account utente con privilegi minimi.

Nota

Se il criterio AllowLockdownPatch è stato impostato, gli utenti non amministratori possono applicare una patch a un'applicazione esistente durante l'esecuzione di un'installazione con privilegi elevati. Questo metodo non è consigliato perché consente l'applicazione di patch non attendibili a un'applicazione che può essere eseguita con privilegi elevati.

 

I pacchetti patch sono costituiti dalle parti seguenti. Per altre informazioni sulla costruzione di pacchetti patch, vedere Creazione di un pacchetto patch.

Flusso di informazioni di riepilogo

Il flusso di informazioni di riepilogo del pacchetto patch fornisce informazioni sull'identità e sullo scopo della patch.

Il flusso di informazioni di riepilogo contiene almeno quanto segue:

  • GUID che identifica in modo univoco la patch. Il GUID per questa patch viene aggiunto con un elenco di GUID per le patch precedenti sostituite da questa patch.
  • Elenco delimitato da punto e virgola dei codici prodotto per le destinazioni valide per questa patch.
  • Elenco delimitato da punto e virgola dei nomi delle sottostorage di trasformazione nell'ordine in cui devono essere elaborati.
  • Elenco delimitato da punto e virgola di origini per questa patch.

Trasforma sottostorazione

Un pacchetto patch contiene trasformazioni che possono aggiungere o rimuovere file, voci del Registro di sistema, interfacce utente e personalizzazioni. Le trasformazioni vengono incluse come sottostorage nel pacchetto. Un pacchetto patch contiene due trasformazioni per ogni database di destinazione. Una trasformazione è l'aggiornamento effettivo al database di installazione e viene generata dalle differenze tra le immagini originali e aggiornate del pacchetto di installazione. L'altra trasformazione aggiunge voci alle tabelle Patch, PatchPackage, Media, InstallExecuteSequence e AdminExecuteSequence . Le informazioni nella sottostorazione lo collega a uno specifico UpgradeCode, ProductCode, ProductVersion e ProductLanguage. Un pacchetto di patch che può essere applicato a più destinazioni contiene più di una coppia di queste trasformazioni.

Flusso di file CAB

Il flusso di file CAB incluso in una patch può contenere questi tipi di file:

  • File di patch contenenti le informazioni necessarie per modificare la versione precedente del file nella nuova versione. Un singolo file di patch può essere usato per aggiornare una o più versioni precedenti di un file.
  • File aggiuntivi aggiunti all'applicazione che non sono presenti nella versione precedente.
  • Intero file sostitutivo. Nel raro caso in cui la nuova versione di un file è inferiore alla patch necessaria per aggiornare la versione precedente di tale file, il nuovo file può essere incluso nel suo insieme. Si tratta di nuovi file installati nelle versioni precedenti.

Creazione di un pacchetto patch