Como registrar bibliotecas COM em tempo de execução?
-
06-07-2019 - |
Pergunta
Vamos dizer que eu estou desenvolvendo um aplicativo que instala COM componentes e instalador registra-los. Isso funciona muito bem.
Agora, o software é necessário para executar a partir de um memory stick. Como posso registrar minhas bibliotecas de execução e certifique-se, que o registro é limpo após a execução do aplicativo?
Solução
Você está sempre em execução no XP ou mais tarde? Não se incomode. Use "registo gratuito COM".
Essencialmente, o que você faz é criar um arquivo de manifesto para o componente COM para o carregador de saber do Windows que seu registro é sem ter que colocar isso no registro.
Um passo a passo do que fazer é neste artigo no MSDN: Registration-Free Ativação de componentes COM: Um Passo a passo
"Passo 6" e "Passo 7" nesse artigo mostram como criar os manifestos. Se o seu programa principal é nativa, não gerenciado, você pode ter que fazer algumas chamadas de API, bem como, também explicou lá.
Outras dicas
Podemos usar comandos shell para fazê-lo. Chamada Regsvr32 com o nome dll usando Shell.
Uma vez eu vi um artigo sobre side-by-side COM que pode ser o que quiser. Note, no entanto, que não está disponível em todas as versões do Windows.