Partilhar via


Tipo de ação personalizada 1

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

Fonte

A DLL é gerada a partir de um fluxo binário temporário. O campo Origem da tabela CustomAction contém uma chave para a tabela Binary.

A coluna Dados na tabela Binária contém os dados do fluxo. Um fluxo separado é alocado para cada linha. Novos dados binários podem ser inseridos a partir de um arquivo usando MsiRecordSetStream seguido por MsiViewModify para inserir o registro na tabela. Quando a ação personalizada é invocada, os dados de fluxo são copiados para um arquivo temporário, que é processado dependendo do tipo de ação personalizada.

Valor do tipo

Inclua os seguintes bits de sinalizador na coluna Tipo da tabela CustomAction para especificar o tipo numérico básico.

Constantes Hexadecimal Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData 0x001 1

 

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.

Quando uma tabela de banco de dados é exportada, cada fluxo é gravado como um arquivo separado na subpasta nomeada após a tabela, usando a chave primária como o nome do arquivo (coluna Nome para a tabela binária), com uma extensão padrão de ".ibd". O nome deve usar o formato 8.3 se o sistema de arquivos ou o sistema de controle de versão não suportar nomes de arquivo longos. O arquivo persistente substitui os dados de fluxo pelo nome de arquivo usado, para que os dados possam ser localizados quando a tabela for importada.

Custom_Actions

Dynamic-Link Bibliotecas

Obtendo informações de contexto para ações personalizadas de execução adiada