Corrigindo 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 é 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 de valor/propriedade "PATCH={caminho até o patch}".
Especificar a 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 comparará os aplicativos atualmente instalados no computador com a lista de códigos de produto qualificados para receber o patch na propriedade Resumo do Modelo.
Quando você define a propriedade PATCH na linha de comando para a primeira instalação, os aplicativos qualificados para receber o patch são determinados pelas condições de validação nas transformações incorporadas 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.
Veja a seguir a aplicação de patch pela primeira vez na linha de comando.
msiexec /I package.msi PATCH="c:\directory\patch.msp"
Veja a seguir a aplicação de patch pela primeira vez de outro aplicativo.
UINT uiStat = MsiInstallProduct(_T("package.msi"), _T("PATCH=c:\directory\patch.msp"));
Veja a seguir 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. Veja a seguir a aplicação pela primeira vez de vários patches na linha de comando.
msiexec /I package.msi PATCH="c:\directory\patch.msp;c:\directory\patch2.msp;c:\directory\patch3.msp"