Pregunta

Me han estado funcionando en un problema por el que un COM DLL que estoy distribuyendo con mi solicitud no se registra porque el atl.dll no está registrado en la máquina.

La solución rápida es tener el regsvr32 corrida contra el DLL, pero quiero algo un poco más limpio que eso.

No tengo mucha experiencia con el despliegue y me preguntaba si hay una manera que podría determinar si el atl.dll se ha registrado en la máquina y si no pude registrarlo de código.

Actualmente tengo una acción personalizada C # para mi instalador MSI para que pudiera posiblemente añadir lógica allí para realizar la tarea.

Gracias de antemano.

¿Fue útil?

Solución

Se deberá incluir la Módulo de combinación con su instalador. Estos serán instalados a C:\Program Files\Common Files\Merge Modules. Si usted no encuentra los archivos necesarios, es probable que no ha instalado la función "Componentes Redistribuibles" ya sea en el Windows SDK y / o Visual Studio (Creo que no seleccionados en tanto por defecto)

  • ATL90.DLL se puede encontrar en Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL se puede encontrar en Microsoft_VC80_ATL_x86.msm
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top