Instalación con Visual Studio: registrar una DLL COM

Instalación con Visual Studio: registrar una DLL COM

José Manuel Alarcón - www.jasoft.org

Para poder tener proyectos de instalación en Visual Studio 2017 o Visual Studio 2019 es necesario añadir una extensión específica de Microsoft, que antes venía incluida de serie (hasta Visual Studio 2015). Se trata de Microsoft Visual Studio Installer Projects:

La puedes instalar descargando el paquete desde ese enlace o directamente desde el menú "Extensiones" de Visual Studio.

Una vez instalada, si tu proyecto .NET es el que genera la DLL que quieres registrar, abres el proyecto y añades a la solución un proyecto de instalación, que será una de las nuevas plantillas que tienes disponible:

(Pulsa con el botón derecho sobre la imagen para verla más grande en otra pestaña)

En el nuevo proyecto de instalación debes añadir los resultados de tu proyecto como salida al sistema de archivos, para lo cual sólo tienes que pulsar con el botón derecho y elegir estas opciones:

(Pulsa con el botón derecho sobre la imagen para verla más grande en otra pestaña)

Una vez añadida la "salida" del proyecto principal al proyecto de instalación, vas a las propiedades de "Primary Output from <NombreDeTuProyecto>" y en las propiedades buscas la correspondiente a "Register", eligiendo la opción "vsdrpCOM":

(Pulsa con el botón derecho sobre la imagen para verla más grande en otra pestaña)

Esto hará que a la hora de instalar, automáticamente registre las DLLs que haya en el proyecto usando por debajo regasm.exe, tal y como lo harías tú a mano.

Si no te funcionase puedes hacer un paso adicional. Genera a mano el archivo .tlb correspondiente a tu DLL (lo obtienes con regasm.exe tal y como se explica aquí) y añádelo a la carpeta de la aplicación del proyecto de instalación. Se hace de la misma manera que antes, pero eligiendo la opción "Add·File...". En las propiedades del .tlb hay una "Register" igual que antes, pero en esta ocasión empiezan por "vsdrf". Debes elegir la opción "vsdrfCOM", que lo que hará es instalar la DLL COM usando directamente la información del .tlb.

Registrar DLLs COM adicionales que no pertenecen al proyecto de Visual Studio

Si por un casual debes instalar alguna DLL COM más que no pertenece al proyecto .NET que genera el "output" puedes añadirlas a mano y registrarlas también automáticamente, para lo cual sólo tienes que usar la opción "Add·Assembly":

y luego establecer la correspondiente opción "Register" en sus propiedades.

¡Espero que te resulte útil!


Report Page