Tipo de ação personalizada 17
Essa ação personalizada chama uma biblioteca de vínculo dinâmico (DLL) escrita em C ou C++.
Fonte
A DLL é instalada com o aplicativo durante a sessão atual. O campo Origem da tabela CustomAction contém uma chave para a tabela Arquivo . O local do código de ação personalizada é determinado pela resolução do caminho de destino para este arquivo; Portanto, essa ação personalizada deve ser chamada depois que o arquivo tiver sido instalado e antes de ser removido.
Valor do tipo
Inclua o seguinte valor na coluna Tipo da tabela CustomAction para especificar o tipo numérico básico.
Constantes | Hexadecimal | Decimal |
---|---|---|
msidbCustomActionTypeDll + msidbCustomActionTypeFile | 0x011 | 17 |
Público-alvo
A DLL é chamada através do ponto de entrada nomeado no campo Destino da tabela CustomAction, passando um único argumento que é o identificador para a sessão de instalação atual. O nome do ponto de entrada especificado na tabela deve corresponder ao exportado da DLL. Observe que se a função de entrada não for especificada por um arquivo . DEF ou por uma especificação /EXPORT: linker, o nome pode ter um sublinhado principal e um sufixo "@4". A função chamada deve especificar o __stdcall convenção de chamada.
Opções de processamento de retorno
Inclua bits de sinalizador opcionais na coluna Tipo da tabela CustomAction para especificar opções de processamento de retorno. Para obter uma descrição das opções e dos valores, consulte Custom Action Return Processing Options.
Opções de agendamento de execução
Inclua bits de sinalizador opcionais na coluna Tipo da tabela CustomAction para especificar opções de agendamento de execução. Essas opções controlam a execução múltipla de ações personalizadas. Para obter uma descrição das opções, consulte Opções de agendamento de execução de ação personalizada.
In-Script opções de execução
Inclua bits de sinalizador opcionais na coluna Tipo da tabela CustomAction para especificar uma opção de execução em script. Essas opções copiam o código de ação para o script de execução, reversão ou confirmação. Para obter uma descrição das opções, consulte Custom Action In-Script Execution Options.
Valores de retorno
Consulte Valores de retorno de ação personalizada.
Comentários
Uma ação personalizada que chama uma biblioteca de vínculo dinâmico (DLL) requer um identificador para a sessão de instalação. Se esta também for uma ação personalizada de execução adiada, a sessão pode não existir mais durante a execução do script de instalação. Para obter informações sobre como uma ação personalizada desse tipo pode obter informações de contexto, consulte Obtendo informações de contexto para ações personalizadas de execução adiada.
As ações personalizadas são executadas em um thread separado e podem ter acesso limitado ao sistema. As ações personalizadas executadas de forma assíncrona bloqueiam o thread principal no término da sequência atual ou da sessão de instalação até que retornem.
As ações personalizadas que fazem referência a um arquivo instalado como origem, como DLL (Tipo de Ação Personalizada) 17, devem aderir às seguintes restrições de sequenciamento:
- A ação personalizada deve ser sequenciada após a ação CostFinalize. Isso é para que a ação personalizada possa resolver o caminho necessário para localizar a DLL.
- Se o arquivo de origem ainda não estiver instalado no computador, as ações personalizadas adiadas (in-script) desse tipo deverão ser sequenciadas após a ação InstallFiles.
- Se o arquivo de origem ainda não estiver instalado no computador, ações personalizadas não adiadas desse tipo deverão ser sequenciadas após a ação InstallFinalize.
Tópicos relacionados