Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O exemplo a seguir mostra como o Windows Installer 3.0 e posterior pode ser usado para aplicar patches na ordem em que são criados.
Exemplo
Neste exemplo, há três patches, QFE1, QFE2 e ServicePack1, e cada um deles tem uma tabela MsiPatchSequence. Esses patches foram criados para serem aplicados à versão 1.0 do aplicativo.
| Nome do patch | Tipo de patch | Número de sequência |
|---|---|---|
| QFE1 | Pequena atualização | 1.1.0 |
| QFE2 | Pequena atualização | 1.2.0 |
| ServicePack1 | Pequena atualização | 1.3.0 |
A tabela MsiPatchSequence de cada patch tem apenas um registro que contém a família de patches, o código do produto e o número de sequência. Os três patches são todos aplicados ao mesmo produto e pertencem à mesma família de patches, denominada AppPatch. Nenhum dos patches tem o atributo msidbPatchSequenceSupersedeEarlier.
Tabela MsiPatchSequence para a pequena atualização do QFE1.
| Família PatchFamily | Código do Produto | Sequência | Atributos |
|---|---|---|---|
| AppPatch | {18A9233C-0B34-4127-A966-C257386270BC} | 1.1.0 |
Tabela MsiPatchSequence para a pequena atualização do QFE2.
| PatchFamily | Código do Produto | Sequência | Atributos |
|---|---|---|---|
| AppPatch | {18A9233C-0B34-4127-A966-C257386270BC} | 1.2.0 |
Tabela MsiPatchSequence para ServicePack1 atualização secundária.
| Família de Patches | Código do Produto | Sequência | Atributos |
|---|---|---|---|
| AppPatch | {18A9233C-0B34-4127-A966-C257386270BC} | 1.3.0 |
Se um usuário instalar a versão 1.0 do produto e, em seguida, aplicar QFE2 e, em seguida, em uma data posterior decidir aplicar QFE1, o Windows Installer garante que a sequência efetiva de aplicação de patch para o produto é QFE1 aplicada antes de QFE2. Se o usuário aplicar o ServicePack1 e, em seguida, aplicar QFE2 e QFE1 juntos em uma data posterior, o Windows Installer garante que a sequência efetiva de aplicação de patch para o produto seja QFE1 à frente do QFE2 e à frente do ServicePack1.
Se o ServicePack1 tiver msidbPatchSequenceSupersedeEarlier definido na coluna Atributos da sua tabela MsiPatchSequence, isto significa que o service pack inclui todas as alterações de QFE1 e QFE2. Nesse caso, QFE1 e QFE2 não são aplicados quando ServicePack1 é aplicado.
Windows Installer 2.0: Não suportado. As versões anteriores ao Windows Installer 3.0 podem instalar apenas um patch por transação e os patches são aplicados na sequência em que são fornecidos. Para o exemplo anterior, se QFE2 é aplicado primeiro e, em seguida, QFE1 é aplicado, ou seja, duas transações e os patches são aplicados à versão 1.0 do aplicativo na sequência QFE2 seguida por QFE1. Se o ServicePack1 for aplicado primeiro, QFE1 ou QFE2 não poderão ser aplicados em uma transação posterior porque o ServicePack1 é uma atualização secundária que altera a versão do aplicativo. QFE1 e QFE2 só podem ser aplicados à versão 1.0 do aplicativo.