Reverter ações personalizadas
Quando o instalador processa o script de instalação, ele gera simultaneamente um script de reversão. Além do script de reversão, o instalador salva uma cópia de cada arquivo excluído durante a instalação. Esses arquivos são mantidos em um diretório do sistema oculto. Depois que a instalação for concluída, o script de reversão e os arquivos salvos serão excluídos. Se uma instalação não tiver êxito, o instalador tentará reverter as alterações feitas durante a instalação e restaurar o estado original do computador.
Embora ações personalizadas que agendam operações do sistema inserindo linhas na tabela de banco de dados sejam revertidas por uma reversão da instalação, ações personalizadas que alteram o sistema diretamente ou que emitem comandos para outros serviços do sistema, nem sempre podem ser revertidas por uma reversão. Uma ação personalizada de reversão é uma ação que o instalador executa somente durante uma reversão de instalação e sua finalidade é reverter uma ação personalizada que fez alterações no sistema.
Uma ação personalizada de reversão é um tipo de ação personalizada de execução adiada, pois sua execução é adiada quando é invocada durante a sequência de instalação. Ela difere de uma ação personalizada adiada regular, pois ela só é executada durante uma reversão. Uma ação personalizada de reversão deve sempre preceder a ação personalizada adiada que ela reverte na sequência de ações. Uma ação personalizada de reversão também deve lidar com o caso em que a ação personalizada adiada é interrompida no meio da execução. Por exemplo, se o usuário pressionasse o botão Cancelar enquanto a ação personalizada estava em execução.
Observe que as Ações Personalizadas de Reversão não podem ser executadas de forma assíncrona. Consulte ações personalizadas síncronas e assíncronas.
O complemento para uma ação personalizada de reversão é uma ação personalizada de confirmação . O instalador executa uma ação personalizada de confirmação durante a sequência de instalação, copia a ação personalizada no script de reversão, mas não executa a ação durante a reversão.
Observe que uma ação personalizada de reversão pode não ser capaz de remover todas as alterações feitas por ações personalizadas de confirmação. Embora o instalador grave ações personalizadas de reversão e confirmação no script de reversão, as ações personalizadas de confirmação só são executadas depois que o instalador processa com êxito o script de instalação. Confirmar ações personalizadas são as primeiras ações a serem executadas no script de reversão. Se uma ação personalizada de confirmação falhar, o instalador iniciará a reversão, mas só poderá reverter essas operações já gravadas no script de reversão. Isso significa que, dependendo da ação personalizada de confirmação, uma reversão pode não ser capaz de desfazer as alterações feitas pela ação. Você pode ignorar falhas em ações personalizadas de confirmação criando a ação personalizada para ignorar códigos de retorno.
Quando o instalador executa uma ação personalizada de reversão, o único parâmetro de modo que ele definirá é MSIRUNMODE_ROLLBACK. Consulte MsiGetMode para obter uma descrição dos parâmetros do modo de execução.
Uma ação personalizada de reversão pode ser especificada adicionando um sinalizador de opção ao campo Tipo da tabela CustomAction. Consulte ação personalizada In-Script opções de execução para o sinalizador de opção que designa uma ação personalizada de reversão.
As ações personalizadas de reversão e confirmação não são executadas quando a reversão é desabilitada. Se um autor de pacote exigir esses tipos de ações personalizadas para a instalação adequada, ele deverá usar a propriedade RollbackDisabled em uma condição que impede que a instalação continue quando a reversão for desabilitada. Para obter informações sobre como desabilitar a reversão, consulte instalação de reversão (Windows Installer).