Partilhar via


Ações personalizadas de execução adiada

O objetivo de uma ação personalizada de execução adiada é atrasar a execução de uma alteração do sistema para o momento em que o script de instalação é executado. Isso difere de uma ação personalizada regular, ou uma ação padrão, na qual o instalador executa a ação imediatamente após encontrá-la em uma tabela de sequência ou em uma chamada para MsiDoAction. Uma ação personalizada de execução adiada permite que um autor de pacote especifique operações do sistema em um ponto específico 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 neste 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 de sequência de execução dentro da seção que executa a geração de script. As ações personalizadas de execução adiada devem vir depois InstallInitialize e antes InstallFinalize na sequência de ações.

Ações personalizadas que definem propriedades, estados de recursos, estados de componentes 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, as 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 em que foi escrito, 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. As ações personalizadas adiadas que chamam bibliotecas de vínculo dinâmico (DLLs) passam por 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 as ações personalizadas adiadas, incluindo reverter ações personalizadas 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.

Ação personalizada In-Script opções de execução

de referência de ação personalizada