Partilhar via


Propriedade PATCH

O instalador define a propriedade PATCH como uma lista de patches que estão sendo aplicados ao chamar MsiApplyPatch, MsiApplyMultiplePatches ou a Opção de Linha de Comando /p. Você também pode definir a propriedade PATCH na linha de comando ao instalar um pacote usando MsiInstallProduct ou a Opção de Linha de Comando /i.

O valor da propriedade PATCH é uma lista dos patches que estão sendo instalados. Cada patch na lista é representado pelo caminho completo para o pacote do patch (arquivo .msp.) Os caminhos completos na lista são separados por ponto e vírgula.

Windows Installer 2.0: não há suporte para vários patches. O Windows Installer 3.0 é necessário para aplicar vários patches.

Comentários

Caso crie um pacote de patch usando Msimsp.exe e Patchwiz.dll poderá especificar que uma ação ou uma caixa de diálogo só será executada quando um determinado patch esteja sendo aplicado. Ao criar o pacote de patch, por exemplo, test.msp, você cria uma imagem atualizada do produto e um arquivo de propriedades de criação de patch. Ao criar o arquivo de propriedades de criação de patch, você pode inserir um nome de propriedade, por exemplo PATCHFORTEST, no campo MediaSrcPropName da Tabela ImageFamilies. Ao criar as tabelas de sequência da imagem atualizada do produto, incluía na coluna Condição da tabela de sequência uma instrução condicional para a ação ou caixa de diálogo que deseja tornar condicional.

Por exemplo, use a instrução condicional a seguir para executar uma ação ou caixa de diálogo somente quando test.msp está sendo aplicado.

PATCH E PATCHFORTEST E PATCH >< PATCHFORTEST

Observação

Como a propriedade PATCH pode conter vários patches, use o operador de subcadeia de caracteres "><" para testar a presença de um patch específico em vez do operador igual a "=". Para obter mais informações sobre instruções condicionais, consulte a seção Sintaxe de Instrução Condicional.

 

O instalador define ambas as propriedades se você aplicar uma lista de patches que inclui test.msp. Por exemplo, use a Opção de Linha de Comando /p para aplicar uma lista de dois patches.

msiexec /qb /p \\scratch\scratch\XYZ\Patches\test.msp;\\scratch\scratch\XYZ\bar.msp

O instalador define as propriedades PATCH e PATCHFORTEST da seguinte maneira.

PATCH=\\\scratch\\scratch\\XYZ\\Patches\\test.msp;\\\scratch\\scratch\\XYZ\\bar.msp PATCHFORTEST=\\\\scratch\\scratch\\XYZ\\Patches\\test.msp

Nesse caso, a condição é VERDADEIRA e a ação condicional ou caixa de diálogo acima pode ser executada para cada patch que está sendo instalado, test.msp e bar.msp.

Caso test.msp não esteja sendo aplicado, o instalador não o incluirá na propriedade PATCH e não definirá PATCHFORTEST. Nesse caso, a condição acima é FALSA e a ação ou caixa de diálogo condicional não é executada.

Requisitos

Requisito Valor
Versão
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.

Confira também

Propriedades

Sintaxe de Instrução Condicional

Exemplos de Sintaxe de Instrução Condicional