Função MsiRemovePatchesA (msi.h)

A função MsiRemovePatches remove um ou mais patches de um único produto. Para remover um patch de vários produtos, MsiRemovePatches deve ser chamado para cada produto.

Sintaxe

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

Parâmetros

[in] szPatchList

Uma cadeia de caracteres terminada em nulo que representa a lista de patches a serem removidos. Cada patch pode ser especificado pelo GUID do patch ou pelo caminho completo para o pacote de patch. Os patches na lista são delimitados por ponto e vírgula.

[in] szProductCode

Uma cadeia de caracteres terminada em nulo que é o GUID (ProductCode ) do produto do qual os patches são removidos. Esse parâmetro não pode ser NULL.

[in] eUninstallType

Valor que indica o tipo de remoção de patch a ser executado. Esse parâmetro deve ser INSTALLTYPE_SINGLE_INSTANCE.

Valor Significado
INSTALLTYPE_SINGLE_INSTANCE
O patch é desinstalado apenas para o produto especificado por szProduct.

[in, optional] szPropertyList

Uma cadeia de caracteres terminada em null que especifica as configurações de propriedade da linha de comando. Para obter mais informações, consulte
Sobre propriedades e configuração de valores de propriedade pública na linha de comando. Este parâmetro pode ser NULL.

Retornar valor

A função MsiRemovePatches retorna os valores a seguir.

Valor Significado
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi incluído.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Não foi possível abrir o pacote de patch.
ERROR_SUCCESS
O patch foi removido com êxito.
ERROR_UNKNOWN_PRODUCT
O produto especificado por szProductList não está instalado por computador ou por usuário para o chamador de MsiRemovePatches.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Não foi possível abrir o pacote de patch.
ERROR_PATCH_PACKAGE_INVALID
O pacote de patch é inválido.
ERROR_PATCH_PACKAGE_UNSUPPORTED
O pacote de patch não pode ser processado por esta versão do serviço Windows Installer.
ERROR_PATCH_REMOVAL_UNSUPPORTED
O pacote de patch não é removível.
ERROR_UNKNOWN_PATCH
O patch não foi aplicado a este produto.
ERROR_PATCH_REMOVAL_DISALLOWED
A remoção de patch não foi permitida pela política.

Comentários

Confira Desinstalando patches para obter um exemplo que demonstra como um aplicativo pode remover um patch de todos os produtos que estão disponíveis para o usuário.

Observação

O cabeçalho msi.h define MsiRemovePatches como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o Windows service pack mínimo exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Sobre propriedades

MsiApplyPatch

Instalações de vários pacotes

Sem suporte no Windows Installer 2.0 e nas versões anteriores

ProductCode

Como remover patches

Definindo valores da propriedade pública na linha de comando

Como desinstalar patches