Compartilhar via


Função MsiApplyPatchA (msi.h)

Para cada produto listado pelo pacote de patch como qualificado para receber o patch, a função MsiApplyPatch invoca uma instalação e define a propriedade PATCH como o caminho do pacote de patch.

Sintaxe

UINT MsiApplyPatchA(
  [in] LPCSTR      szPatchPackage,
  [in] LPCSTR      szInstallPackage,
  [in] INSTALLTYPE eInstallType,
  [in] LPCSTR      szCommandLine
);

Parâmetros

[in] szPatchPackage

Uma cadeia de caracteres terminada em nulo especificando o caminho completo para o pacote de patch.

[in] szInstallPackage

Se eInstallType for definido como INSTALLTYPE_NETWORK_IMAGE, esse parâmetro será uma cadeia de caracteres terminada em nulo que especifica um caminho para o produto que deve ser corrigido. O instalador aplica o patch a todos os produtos qualificados listados no pacote de patch se szInstallPackage estiver definido como nulo e eInstallType estiver definido como INSTALLTYPE_DEFAULT.

Se eInstallType for INSTALLTYPE_SINGLE_INSTANCE, o instalador aplicará o patch ao produto especificado por szInstallPackage. Nesse caso, outros produtos qualificados listados no pacote de patch são ignorados e o parâmetro szInstallPackage contém a cadeia de caracteres terminada em nulo que representa o código do produto da instância a ser corrigida. Esse tipo de instalação requer o instalador que executa o Windows Server 2003 ou o Windows XP.

[in] eInstallType

Esse parâmetro especifica o tipo de instalação a ser corrigido.

Tipo de instalação Significado
INSTALLTYPE_NETWORK_IMAGE
Especifica uma instalação administrativa. Nesse caso, szInstallPackage deve ser definido como um caminho de pacote. Um valor de 1 para INSTALLTYPE_NETWORK_IMAGE define isso para uma instalação administrativa.
INSTALLTYPE_DEFAULT
Pesquisa o sistema em busca de produtos que devem ser corrigidos. Nesse caso, szInstallPackage deve ser 0.
INSTALLTYPE_SINGLE_INSTANCE
Corrija o produto especificado por szInstallPackage. szInstallPackage é o código do produto da instância a ser corrigida. Esse tipo de instalação requer o instalador que executa o Windows Server 2003 ou o Windows XP com SP1. Para obter mais informações, confira Como instalar várias instâncias de produtos e patches.

[in] szCommandLine

Uma cadeia de caracteres terminada em nulo que especifica as configurações da propriedade de linha de comando. Consulte Sobre propriedades e definindo valores de propriedade pública na linha de comando. Consulte a seção Comentários.

Valor retornado

Valor Significado
ERROR_SUCCESS
A função foi concluída com êxito.
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 tem suporte.
Um erro relacionado a uma ação
Consulte Códigos de erro.
Erro de inicialização
Ocorreu um erro de inicialização.

Comentários

Como o delimitador de lista para transformações, fontes e patches é um ponto e vírgula, esse caractere não deve ser usado para nomes de arquivos ou caminhos.

Observação  

Você deve definir a propriedade REINSTALL na linha de comando ao aplicar uma pequena atualização ou um patch de atualização secundária . Sem essa propriedade, o patch é registrado no sistema, mas não pode atualizar os arquivos. Para patches que não usam um Tipo de Ação Personalizada 51 para definir automaticamente as propriedades REINSTALL e REINSTALLMODE , a propriedade REINSTALL deve ser definida explicitamente com o parâmetro szCommandLine . Defina a propriedade REINSTALL para listar os recursos afetados pelo patch ou use uma configuração padrão prática de "REINSTALL=ALL". O valor padrão da propriedade REINSTALLMODE é "omus". A partir do Windows Installer versão 3.0, a propriedade REINSTALL é configurada pelo instalador e não precisa ser definida na linha de comando.

 

Observação

O cabeçalho msi.h define MsiApplyPatch 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. Windows Installer no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows 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

Códigos de Erro

Erro de inicialização

Instalações de vários pacotes

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