Compartilhar via


Tipo de ação personalizada 17

Essa ação personalizada chama uma DLL (biblioteca de vínculo dinâmico) escrita em C ou C++.

Fonte

A DLL é instalada com o aplicativo durante a sessão atual. O campo de Origem da tabela CustomAction contém uma chave para a tabela de Arquivos. O local do código de ação personalizada é determinado pela resolução do caminho de destino para esse arquivo. Portanto, essa ação personalizada precisa ser chamada depois que o arquivo é instalado e antes de ele ser removido.

Valor de tipo

Inclua o valor a seguir na coluna Type da tabela CustomAction para especificar o tipo numérico básico.

Constantes Hexadecimal Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile 0x011 17

 

Destino

A DLL é chamada por meio do ponto de entrada nomeado no campo de 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 deverá corresponder ao exportado da DLL. Observe que, se a função de entrada não for especificada por um arquivo .DEF ou por um /EXPORT: especificação do vinculador, o nome poderá ter um sublinhado inicial e um sufixo "@4". A função chamada deverá especificar a convenção de chamada __stdcall.

Opções de processamento de retornos

Inclua bits de sinalizador opcionais na coluna Type da tabela CustomAction para especificar as opções de processamento de retorno. Para conferir uma descrição das opções e dos valores, consulte Opções de processamento de retorno da ação personalizada.

Opções de agendamento de execução

Inclua bits de sinalizador opcionais na coluna Type da tabela CustomAction para especificar as opções de agendamento de execução. Essas opções controlam a execução múltipla de ações personalizadas. Para conferir uma descrição das opções, consulte Opções de agendamento de execução de ação personalizada.

Opções de execução no script

Inclua bits de sinalizador opcionais na coluna Type da tabela CustomAction para especificar uma opção de execução no script. Essas opções copiam o código de ação para o script de execução, reversão ou confirmação. Para conferir uma descrição das opções, consulte Opções de execução no script de ação personalizada.

Valores de retorno

Confira Valores retornados da ação personalizada.

Comentários

Uma ação personalizada que chama uma DLL (biblioteca de vínculo dinâmico) exige 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 poderá não existir mais durante a execução do script de instalação. Para obter mais informações sobre como uma ação personalizada desse tipo poderá obter informações de contexto, consulte Obter informações de contexto para ações personalizadas de execução adiada.

Ações personalizadas são executadas em um thread separado e poderão ter acesso limitado ao sistema. 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.

Ações personalizadas que fazem referência a um arquivo instalado como origem, como o tipo de ação personalizada 17 (DLL), deverão seguir as seguintes restrições de sequenciamento:

  • A ação personalizada deverá ser sequenciada após a ação CostFinalize. Isso é necessário para que a ação personalizada possa resolver o caminho exigido para localizar a DLL.
  • Se o arquivo de origem ainda não estiver instalado no computador, as ações personalizadas adiadas (no 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, as ações personalizadas não adiadas desse tipo deverão ser sequenciadas após a ação InstallFinalize.

Custom_Actions

Ações personalizadas de execução adiada

Bibliotecas de vínculo dinâmico