Compartilhar via


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 é a (GUID) 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 nulo que especifica as configurações de propriedade de linha de comando. Para obter mais informações, consulte
sobre propriedades e definindo valores de propriedade pública na linha de comando. Esse parâmetro pode ser NULL.

Valor de retorno

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.

Observações

Consulte 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.

Nota

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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
da Plataforma de Destino Windows
cabeçalho msi.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

sobre propriedades

MsiApplyPatch

instalações Multiple-Package

sem suporte no Windows Installer 2.0 e anteriores

ProductCode

removendo patches

definindo valores de propriedade pública na linha de comando

desinstalando patches