Pergunta

Eu tenho sido executado em um problema em que uma empresa que estou distribuindo com meu aplicativo falha ao registrar porque o ATL.DLL não está registrado na máquina.

A correção rápida é ter o Regsvr32 de execução na DLL, mas eu quero algo um pouco mais limpo, então isso.

Não tenho muita experiência com a implantação e queria saber se existe uma maneira de determinar se o ATL.DLL está registrado na máquina e, se não, eu poderia registrá -lo do código.

Atualmente, tenho uma ação personalizada C# para o meu instalador MSI para poder adicionar lógica para executar a tarefa.

Desde já, obrigado.

Foi útil?

Solução

Você precisará incluir o correto Módulo de mesclagem com seu instalador. Estes serão instalados para C:\Program Files\Common Files\Merge Modules. Se você não encontrar os arquivos necessários, provavelmente não instalou o recurso "componentes redistribuíveis" no Windows SDK e/ou Visual Studio (acho que não é selecionado em ambos por padrão)

  • ATL90.DLL pode ser encontrado em Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL pode ser encontrado em Microsoft_VC80_ATL_x86.msm
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top