Condividi tramite


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
INSTALLTYPE_NETWORK_IMAGE
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.
INSTALLTYPE_DEFAULT
Cerca il sistema per applicare patch ai prodotti. 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 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
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.

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.

Nota  

È 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

Codici errore

Errore di inizializzazione

Installazioni multiple-package

Non supportato in Windows Installer 2.0 e versioni precedenti