Com dependências de implantação
-
22-09-2019 - |
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.
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 emMicrosoft_VC90_ATL_x86.msm
ATL80.DLL
pode ser encontrado emMicrosoft_VC80_ATL_x86.msm