Compartilhar via


Como aplicar patch em instalações iniciais

Um Patch do Windows Installer (MSP) pode ser aplicado ao instalar um aplicativo pela primeira vez usando a propriedade PATCH.

Para aplicar um patch na primeira vez que o aplicativo for instalado, a propriedade PATCH deve ser definida na linha de comando. Especifique o caminho completo para o patch na linha de comando como o par propriedade-valor "PATCH={path to patch}".

Observe que a especificação da propriedade PATCH na linha de comando substitui as verificações de aplicabilidade de patch executadas ao usar MsiApplyPatch ou a Opção de linha de comando /p.

Se um patch for aplicado usando MsiApplyPatch ou a Opção de linha de comando /p, o instalador irá comparar os aplicativos atualmente instalados no computador com a lista de códigos de produto qualificados para receber o patch na propriedade Template Summary.

Quando você define a propriedade PATCH na linha de comando a ser instalada na primeira instalação, os aplicativos qualificados para receber o patch são determinados pelas condições de validação nas transformações inseridas no pacote de patch. O método recomendado para gerar um pacote de patch é usar uma ferramenta de criação de patch, como Msimsp.exe e PATCHWIZ.DLL. As condições de validação em transformações no patch se originam da coluna ProductValidateFlags na tabela TargetImages do arquivo Propriedades de Criação de Patch (.pcp).

O patch pode ser aplicado na primeira vez que o aplicativo é instalado por uma linha de comando, outro aplicativo ou script.

O exemplo a seguir mostra a aplicação de patch pela primeira vez da linha de comando.

msiexec /Ipackage.msiPATCH="c:\directory\patch.msp"

O exemplo a seguir mostra a aplicação de patch pela primeira vez de outro aplicativo.

UINT uiStat = MsiInstallProduct(_T("package.msi"), _T("PATCH=c:\directory\patch.msp"));

O exemplo a seguir mostra a aplicação de patch pela primeira vez do script.

Dim Installer as Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "package.msi", "PATCH=c:\directory\patch.msp"

**Windows Installer 3.0 ou posterior: **

A partir do Windows Installer versão 3.0, vários patches podem ser aplicados ao instalar um aplicativo pela primeira vez. Defina a propriedade PATCH como uma lista delimitada por ponto e vírgula dos caminhos completos dos patches. O exemplo a seguir mostra a aplicação de patch pela primeira vez de vários patches da linha de comando.

msiexec /Ipackage.msiPATCH="c:\directory\patch.msp;c:\directory\patch2.msp;c:\directory\patch3.msp"