Condividi tramite


Funzione MsiApplyPatchA (msi.h)

Per ogni prodotto elencato dal pacchetto patch come idoneo per 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 del prodotto a cui applicare 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 patch vengono ignorati e il parametro szInstallPackage contiene la stringa con terminazione null che rappresenta il codice prodotto dell'istanza da applicare. 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 alle patch.

Tipo di installazione Significato
INSTALLTYPE_NETWORK_IMAGE
Specifica un'installazione amministrativa. In questo caso, szInstallPackage deve essere impostato su un percorso del pacchetto. Il valore 1 per INSTALLTYPE_NETWORK_IMAGE imposta questo valore per un'installazione amministrativa.
INSTALLTYPE_DEFAULT
Cerca i prodotti da applicare alle patch nel sistema. In questo caso, szInstallPackage deve essere 0.
INSTALLTYPE_SINGLE_INSTANCE
Applicare patch al prodotto specificato da szInstallPackage. szInstallPackage è il codice prodotto dell'istanza da applicare a 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 About Properties and Setting Public Property Values on the Command Line.See About Properties and Setting Public Property Values on the Command Line. Vedere la sezione Osservazioni.

Valore restituito

Valore Significato
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Impossibile aprire il pacchetto patch.
ERROR_PATCH_PACKAGE_INVALID
Il pacchetto patch non è valido.
ERROR_PATCH_PACKAGE_UNSUPPORTED
Il pacchetto patch non è supportato.
Errore relativo a un'azione
Vedere codici di errore.
errore di inizializzazione
Si è verificato un errore di inizializzazione.

Osservazioni

Poiché il delimitatore di elenco per trasformazioni, origini e patch è un punto e virgola, questo carattere non deve essere usato per i nomi di file o i percorsi.

nota  

È necessario impostare la proprietà REINSTALL nella riga di comando quando si applica un di aggiornamento piccolo o patch di aggiornamento secondario. 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 il REINSTALL e le proprietà 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 o 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

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 Requisiti di windows Run-Time.
piattaforma di destinazione Finestre
intestazione msi.h
libreria Msi.lib
dll Msi.dll

Vedere anche

codici di errore

errore di inizializzazione

Multiple-Package installazioni

non supportato in Windows Installer 2.0 e versioni precedenti