Funzione MsiApplyPatchA (msi.h)
Per ogni prodotto elencato dal pacchetto patch come idoneo a ricevere la patch, la funzione MsiApplyPatch richiama un'installazione e imposta la proprietà PATCH sul percorso del pacchetto patch.
Sintassi
UINT MsiApplyPatchA(
[in] LPCSTR szPatchPackage,
[in] LPCSTR szInstallPackage,
[in] INSTALLTYPE eInstallType,
[in] LPCSTR szCommandLine
);
Parametri
[in] szPatchPackage
Stringa con terminazione null che specifica il percorso completo del pacchetto patch.
[in] szInstallPackage
Se eInstallType è impostato su INSTALLTYPE_NETWORK_IMAGE, questo parametro è una stringa con terminazione null che specifica un percorso al prodotto da applicare a patch. Il programma di installazione applica la patch a ogni prodotto idoneo elencato nel pacchetto patch se szInstallPackage è impostato su Null e eInstallType è impostato su INSTALLTYPE_DEFAULT.
Se eInstallType è INSTALLTYPE_SINGLE_INSTANCE, il programma di installazione applica la patch al prodotto specificato da szInstallPackage. In questo caso, altri prodotti idonei elencati nel pacchetto di patch vengono ignorati e il parametro szInstallPackage contiene la stringa con terminazione null che rappresenta il codice prodotto dell'istanza per applicare patch. Questo tipo di installazione richiede il programma di installazione che esegue Windows Server 2003 o Windows XP.
[in] eInstallType
Questo parametro specifica il tipo di installazione da applicare a patch.
Tipo di installazione | Significato |
---|---|
|
Specifica un'installazione amministrativa. In questo caso, szInstallPackage deve essere impostato su un percorso del pacchetto. Un valore pari a 1 per INSTALLTYPE_NETWORK_IMAGE imposta questo valore per un'installazione amministrativa. |
|
Cerca il sistema per applicare patch ai prodotti. In questo caso, szInstallPackage deve essere 0. |
|
Applicare patch al prodotto specificato da szInstallPackage. szInstallPackage è il codice prodotto dell'istanza da applicare alle patch. Questo tipo di installazione richiede il programma di installazione che esegue Windows Server 2003 o Windows XP con SP1. Per altre informazioni, vedere Installazione di più istanze di prodotti e patch. |
[in] szCommandLine
Stringa con terminazione null che specifica le impostazioni delle proprietà della riga di comando. Vedere Informazioni sulle proprietà e sull'impostazione dei valori delle proprietà pubbliche nella riga di comando. Vedere la sezione relativa alle osservazioni.
Valore restituito
Valore | Significato |
---|---|
|
La funzione è stata completata correttamente. |
|
Impossibile aprire il pacchetto patch. |
|
Il pacchetto patch non è valido. |
|
Il pacchetto patch non è supportato. |
|
Vedere Codici di errore. |
Si è verificato un errore di inizializzazione. |
Commenti
Poiché il delimitatore elenco per trasformazioni, origini e patch è un punto e virgola, questo carattere non deve essere usato per i nomi o i percorsi dei file.
È necessario impostare la proprietà REINSTALL nella riga di comando quando si applica un piccolo aggiornamento o una patch di aggiornamento secondaria . Senza questa proprietà, la patch viene registrata nel sistema ma non può aggiornare i file. Per le patch che non usano un tipo di azione personalizzato 51 per impostare automaticamente le proprietà REINSTALL E REINSTALLMODE, la proprietà REINSTALL deve essere impostata in modo esplicito con il parametro szCommandLine. Impostare la proprietà REINSTALL per elencare le funzionalità interessate dalla patch oppure usare un'impostazione predefinita pratica di "REINSTALL=ALL". Il valore predefinito della proprietà REINSTALLMODE è "omus". A partire da Windows Installer versione 3.0, la proprietà REINSTALL è configurata dal programma di installazione e non deve essere impostata sulla riga di comando.
Nota
L'intestazione msi.h definisce MsiApplyPatch come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows Richiesto da una versione di Windows Installer, vedere i requisiti di Windows Installer Run-Time. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |
Vedi anche
Installazioni multiple-package
Non supportato in Windows Installer 2.0 e versioni precedenti