Compartilhar via


Tipo de ação personalizado 1

Essa ação personalizada chama uma DLL (biblioteca de link dinâmico) 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 binária .

A coluna Dados na tabela Binária contém os dados de fluxo. Um fluxo separado é alocado para cada linha. Novos dados binários podem ser inseridos de um arquivo usando MsiRecordSetStream seguidos 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 bits de sinalizador a seguir na coluna Tipo da tabela CustomAction para especificar o tipo numérico básico.

Constantes Hexadecimal Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData 0x001 1

 

Alvo

A DLL é chamada por meio 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 do vinculador /EXPORT: o nome pode ter um sublinhado à esquerda e um sufixo "@4". A função chamada deve especificar a convenção de chamada __stdcall.

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 Opções de Processamento de Retorno de Ação Personalizada.

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.

Opções de execução do In-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 no script de execução, reversão ou confirmação. Para obter uma descrição das opções, consulte Opções de Execução In-Script de Ação Personalizada.

Valores retornados

Consulte valores de retorno da ação personalizada.

Observações

Uma ação personalizada que chama uma DLL (biblioteca de vínculo dinâmico) requer um identificador para a sessão de instalação. Se essa 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 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 com o nome da tabela, usando a chave primária como o nome do arquivo (coluna Name para a tabela Binária), com uma extensão padrão de ".ibd". O nome deverá usar o formato 8.3 se o sistema de arquivos ou o sistema de controle de versão não oferecer suporte a nomes de arquivo longos. O arquivo de arquivo persistente substitui os dados de fluxo pelo nome do arquivo usado, para que os dados possam ser localizados quando a tabela for importada.

Custom_Actions

Bibliotecas Dynamic-Link

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