Ações personalizadas síncronas e assíncronas
O Windows Installer processa as ações personalizadas como um thread separado da instalação principal. Durante a execução síncrona de uma ação personalizada, o instalador aguarda a conclusão do thread da ação personalizada antes de continuar a instalação principal. Durante a execução assíncrona, o instalador executa a ação personalizada simultaneamente à medida que a instalação atual continua. Portanto, os autores de ações personalizadas precisam estar cientes de qualquer thread assíncrono que possa fazer alterações no banco de dados de instalação entre as chamadas de função.
Em particular, as chamadas a MsiGetTargetPath e MsiSetTargetPath devem ser evitadas em ações personalizadas assíncronas. Em vez disso, use MsiGetProperty para obter um caminho de destino. As operações de banco de dados em massa, como operações de importação, exportação e transformação, devem ser evitadas em qualquer tipo de ação personalizada.
Os sinalizadores de opção podem ser definidos no campo Type da tabela CustomAction para especificar que os threads de ação principal e personalizados sejam executados de maneira síncrona ou assíncrona. Confira Opções de processamento de retorno da ação personalizada.
O instalador só pode executar ações personalizadas de reversão e ações de instalação simultâneas como ações personalizadas síncronas.