Ações personalizadas de execução adiada
A finalidade de uma ação personalizada de execução adiada é atrasar a execução de uma alteração do sistema no momento em que o script de instalação é executado. Isso difere de uma ação personalizada regular ou de uma ação padrão, na qual o instalador executa a ação imediatamente ao encontrar-a em uma tabela de sequência ou em uma chamada para msiDoAction. Uma ação personalizada de execução adiada permite que um autor do pacote especifique as operações do sistema em um determinado ponto dentro da execução do script de instalação.
O instalador não executa uma ação personalizada de execução adiada no momento em que a sequência de instalação é processada. Em vez disso, o instalador grava a ação personalizada no script de instalação. O único parâmetro de modo que o instalador define nesse caso é MSIRUNMODE_SCHEDULED. Consulte MsiGetMode para obter uma descrição dos parâmetros do modo de execução.
Uma ação personalizada de execução adiada deve ser agendada na tabela executar sequência dentro da seção que executa a geração de script. As ações personalizadas de execução adiada devem vir após InstallInitialize e vir antes de InstallFinalize na sequência de ações.
Ações personalizadas que definem propriedades, estados de recursos, estados de componente ou diretórios de destino ou que agendam operações do sistema inserindo linhas em tabelas de sequência podem, em muitos casos, usar a execução imediata com segurança. No entanto, ações personalizadas que alteram o sistema diretamente ou chamam outro serviço do sistema devem ser adiadas para o momento em que o script de instalação é executado. Consulte Ações Personalizadas Síncronas e Assíncronas para obter mais informações sobre possíveis conflitos entre suas ações personalizadas e o thread de instalação principal.
Como o script de instalação pode ser executado fora da sessão de instalação na qual foi gravado, a sessão pode não existir mais durante a execução do script de instalação. Isso significa que o identificador de sessão original e o conjunto de dados de propriedade durante a sequência de instalação não estão disponíveis para uma ação personalizada de execução adiada. Ações personalizadas adiadas que chamam DLLs (bibliotecas de vínculo dinâmico) passam um identificador que só pode ser usado para obter uma quantidade muito limitada de informações, conforme descrito em Obtendo informações de contexto para ações personalizadas de execução adiada.
Observe que ações personalizadas adiadas, incluindo ações personalizadas de reversão e confirmar ações personalizadas, são os únicos tipos de ações que podem ser executadas fora do contexto de segurança dos usuários.
Tópicos relacionados