Condividi tramite


Funzione MsiRemovePatchesA (msi.h)

La funzione msiRemovePatches rimuove una o più patch da un singolo prodotto. Per rimuovere una patch da più prodotti, è necessario chiamare MsiRemovePatches per ogni prodotto.

Sintassi

UINT MsiRemovePatchesA(
  [in]           LPCSTR      szPatchList,
  [in]           LPCSTR      szProductCode,
  [in]           INSTALLTYPE eUninstallType,
  [in, optional] LPCSTR      szPropertyList
);

Parametri

[in] szPatchList

Stringa con terminazione Null che rappresenta l'elenco di patch da rimuovere. Ogni patch può essere specificata dal GUID della patch o dal percorso completo del pacchetto patch. Le patch nell'elenco sono delimitate da punti e virgola.

[in] szProductCode

Stringa con terminazione Null che rappresenta il ProductCode (GUID) del prodotto da cui vengono rimosse le patch. Questo parametro non può essere NULL.

[in] eUninstallType

Valore che indica il tipo di rimozione della patch da eseguire. Questo parametro deve essere INSTALLTYPE_SINGLE_INSTANCE.

Valore Significato
INSTALLTYPE_SINGLE_INSTANCE
La patch viene disinstallata solo per il prodotto specificato da szProduct.

[in, optional] szPropertyList

Stringa con terminazione Null che specifica le impostazioni delle proprietà della riga di comando. Per altre informazioni, vedere
Informazioni sulle proprietà e impostazione dei valori delle proprietà pubbliche nella riga di comando. Questo parametro può essere NULL.

Valore restituito

La funzione MsiRemovePatches restituisce i valori seguenti.

Valore Significato
ERROR_INVALID_PARAMETER
È stato incluso un parametro non valido.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Impossibile aprire il pacchetto di patch.
ERROR_SUCCESS
La patch è stata rimossa correttamente.
ERROR_UNKNOWN_PRODUCT
Il prodotto specificato da szProductList non è installato per computer o per utente per il chiamante di MsiRemovePatches.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Impossibile aprire il pacchetto di patch.
ERROR_PATCH_PACKAGE_INVALID
Il pacchetto patch non è valido.
ERROR_PATCH_PACKAGE_UNSUPPORTED
Il pacchetto patch non può essere elaborato da questa versione del servizio Windows Installer.
ERROR_PATCH_REMOVAL_UNSUPPORTED
Il pacchetto patch non è rimovibile.
ERROR_UNKNOWN_PATCH
La patch non è stata applicata a questo prodotto.
ERROR_PATCH_REMOVAL_DISALLOWED
Rimozione di patch non consentita dai criteri.

Osservazioni

Vedere Disinstallare patch per un esempio che illustra come un'applicazione può rimuovere una patch da tutti i prodotti disponibili per l'utente.

Nota

L'intestazione msi.h definisce MsiRemovePatches 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. 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

Informazioni sulle proprietà

MsiApplyPatch

Multiple-Package installazioni

non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode

rimozione di patch

impostazione dei valori delle proprietà pubbliche nella riga di comando

la disinstallazione di patch