Patchwiz.dll
Para gerar um pacote de patch, é recomendável usar uma ferramenta de criação de patch, como Msimsp.exe e Patchwiz.dll. Patchwiz.dll versão 4.0 é compatível com pacotes e patches criados usando versões anteriores do Patchwiz.dll. A ferramenta Patchwiz.dll só está disponível nos Componentes do SDK do Windows para Desenvolvedores do Windows Installer.
Patchwiz.dll versão 4.0 tem uma nova função, UiCreatePatchPackageEx (Patchwiz.dll), que estende a funcionalidade de UiCreatePatchPackage (Patchwiz.dll). Essas funções pegam um arquivo de propriedades de criação de patch (arquivo .pcp) e geram um pacote de patch do instalador.
O arquivo .pcp é um arquivo de banco de dados binário com o mesmo formato que um banco de dados do Windows Installer (arquivo .msi), mas com um esquema de banco de dados diferente. Portanto, um arquivo .pcp pode ser criado usando as mesmas ferramentas usadas para um banco de dados do instalador.
Você pode criar um arquivo .pcp usando um editor de tabela, como Orca.exe, para inserir informações no banco de dados .pcp em branco fornecido com o SDK do Windows Installer, Template.pcp. Para obter mais informações, confira Um exemplo de aplicação de patch de atualização pequena.
As seguintes tabelas de banco de dados são necessárias em cada arquivo .pcp:
- Tabela Properties (Patchwiz.dll)
- Tabela ImageFamilies (Patchwiz.dll)
- Tabela UpgradedImages (Patchwiz.dll)
- Tabela TargetImages (Patchwiz.dll)
As seguintes tabelas de banco de dados são opcionais:
- UpgradedFiles_OptionalData Table (Patchwiz.dll)
- Table FamilyFileRanges (Patchwiz.dll)
- TargetFiles_OptionalData Table (Patchwiz.dll)
- Tabela ExternalFiles (Patchwiz.dll)
- Tabela UpgradedFilesToIgnore (Patchwiz.dll)
A tabela a seguir é necessária em arquivos .pcp que têm um MinimumRequiredMsiVersion igual a 300 na tabela Properties.
Observação
A tabela será opcional se MinimumRequiredMsiVersion não for igual a 300.
A versão do Patchwiz.dll lançada com o Windows Installer 3.0 pode gerar automaticamente informações de sequenciamento de patch e adicioná-la à Tabela MsiPatchSequence de um novo patch. A Tabela PatchSequence pode ser usada para adicionar manualmente informações de sequenciamento de patch à Tabela MsiPatchSequence. Para saber mais, confira Gerando informações de sequência de patch.
A partir do Patchwiz.dll versão 2.0, você pode aumentar a velocidade da criação de patch subsequente usando o Cache de Informações de Patch (Patchwiz.dll).
O uso de símbolos públicos para os binários de imagem de destino e atualização pode reduzir os tamanhos de patch binários em aproximadamente metade. Para saber mais, confira Usando símbolos para reduzir o tamanho do patch binário.
Você pode especificar que determinadas regiões do arquivo de destino sejam preservadas de serem substituídas durante a aplicação de patch e que as informações nessas regiões sejam mantidas. Para saber mais, confira Aplicação de patch de regiões selecionadas de um arquivo.