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, MsiRemovePatches deve essere chiamato 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 corrisponde al GUID ( ProductCode ) del prodotto da cui vengono rimosse le patch. Questo parametro non può essere NULL.

[in] eUninstallType

Valore che indica il tipo di rimozione delle 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 sull'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 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 delle patch non consentita dai criteri.

Commenti

Vedere Disinstalla 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 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. 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

Informazioni sulle proprietà

MsiApplyPatch

Installazioni multiple-package

Non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode

Rimozione di patch

Impostazione dei valori delle proprietà pubbliche nella riga di comando

Disinstallazione di patch