Crear un proyecto de instalación (Setup) para Windows |
|
|
|
Introducción:
Aunque como sabemos con .NET Framework no es necesario crear programas (o proyectos) de instalación, dado que este nuevo entrono facilita la forma de distribuir las aplicaciones mediante lo que se llama instalación XCOPY (o FTP), es decir, podemos copiar nuestras aplicaciones creadas con cualquier lenguaje .NET simplemente copiando el directorio con el ejecutable y las librerías de las que depende al equipo en el que queremos usarlo y ya funcionará. Pero funcionará si el equipo de destino ya tiene instalada el "runtime" de .NET Framework, y esto es así porque ese runtime ya incluye todo lo que necesitamos para que nuestra aplicación funcione. Aunque en ocasiones, es posible que además de esas librerías "básicas" (incluidas en el runtime del .NET), necesitemos copiar nuevas librerías, en ese caso simplemente copiaremos las librerías extras dentro del propio directorio de nuestra aplicación y... ¡todo funcionará!
Esto es así porque no necesitamos registrar ningún componente para poder usarlo con nuestra aplicación, por tanto... realmente no necesitamos crear ningún proyecto de instalación, pero... si es eso lo que quieres hacer, para facilitarte las cosas, no es lo mismo tener que copiar cosas en una carpeta que distribuir un instalador y que sea el propio usuario el que se encargue del proceso de instalación, así como de eliminar dicha instalación cuando le apetezca.También habrá ocasiones en las que tengamos que instalar una librería "compartida", en esos casos, la creación de un proyecto de instalación nos facilitará el registro (o copia) de esa librería en el GAC (Global Assembly Cache, caché de ensamblado global) que es una carpeta especial usada por el .NET Framework en la que estarán todas las librerías compartidas del .NET Framework.
Nota:
Para que una librería se pueda usar de forma global, ésta debe estar firmada con un Strong Name (nombre seguro). Si quieres saber más cómo crear (o firmar) una librería con nombre seguro, puedes leer mi artículo sobre ese tema: Crear y registrar un ensamblado con nombre seguroAviso importante:
Una cosa que debes saber antes de seguir, es que creando un proyecto de instalación, no se instala el runtime del .NET Framework.
Cuando creamos el proyecto de instalación, éste se encargará de instalar nuestra aplicación y los demás ficheros (archivos) que le indiquemos, pero NO instalará el runtime.
Lo repito para que quede claro y no haya dudas...
El runtime (o redistribuible) de .NET Framework debemos instalarlo por nuestra cuenta ANTES de instalar nuestra aplicación.Bien, sabiendo esto, sigamos con lo nuestro.
Vamos a ver cómo crear un proyecto de instalación.
Para que quede la cosa clara, primero tendremos que tener abierto el proyecto con el ejecutable (o aplicación) que queremos distribuir, (si quieres, puedes crear un nuevo proyecto, simplemente para probar).
Supongamos que el proyecto que queremos distribuir se llama: ClienteSetup y lo tenemos abierto en el Visual Studio .NET (la versión usada para este artículo es la versión 2002, pero los pasos a seguir serán los mismos para versiones posteriores).Proyecto de instalación usando el Asistente:
Del menú Archivo, seleccionaremos la opción Agregar proyecto>Nuevo proyecto..., se mostrará el cuadro de diálogo de añadir nuevo proyecto, del panel izquierdo selecciona Proyectos de instalación e implementación, en el panel derecho se mostrarán los posibles tipos de proyectos, seleccionaremos Asistente para proyectos de instalación (después veremos cómo crear un proyecto de instalación sin usar el asistente).
Este cuadro de diálogo podemos verlo en la siguiente figura (Figura 1):
Figura 1, cuadro de diálogo Agregar nuevo proyectoSe mostrará el Asistente para proyectos de instalación (iremos viendo las distintas pantallas que se irán mostrando), en la figura 2, tenemos la primera de las 5 pantallas del asistente:
Figura 2, Primera pantalla del asistenteEn esta pantalla, simplemente pulsaremos en Siguiente, para que se muestre la siguiente pantalla del asistente:
Figura 3, seleccionar el tipo de proyectoAquí dejaremos la opción que hay seleccionada, ya que lo que queremos es crear un proyecto de instalación para una aplicación de Windows.
Pulsamos en SiguienteEn la cuarta pantalla del asistente, se nos preguntará qué es lo que queremos incluir en el proyecto de instalación, tal como se muestra en la Figura 4:
Figura 4, indicar los resultados a incluir en el proyecto de instalaciónSi sólo queremos distribuir el ejecutable, seleccionaremos la primera de las opciones: Resultado principal del "Nombre del proyecto", en caso de que queramos incluir también el código fuente, seleccionaremos la última de las opciones que se indican, pero por ahora sólo seleccionaremos la primera de ellas.
Una vez realizada la selección, pulsaremos en Siguiente.Se nos mostrará la siguiente pantalla (ver la Figura 5), desde aquí podemos añadir más archivos, como por ejemplo imágenes y otros ejecutables, bases de datos, etc., que nuestro programa necesite; en caso de que así sea, pulsaremos en el botón Agregar... y seleccionaremos el o los ficheros extras que queramos.
Si no tenemos que añadir nada más, (o cuando hayamos terminado de agregar los ficheros que queramos), pulsaremos en Siguiente para finalizar el asistente.
Figura 5Una vez terminado, el asistente nos mostrará información sobre las cosas que hemos indicado, tal como se muestra en la Figura 6:
Figura 6Una vez que hemos terminado con el asistente, (después de pulsar en el botón Finalizar), tendremos un nuevo proyecto en la solución del proyecto que queremos distribuir. Esto lo podemos comprobar en el Explorador de soluciones, tal como podemos ver en la figura 7:
Figura 7, el explorador de solucionesLo único que nos queda es generar el proyecto Setup1 y ya tendremos creado el proyecto de instalación, el cual se encontrará en la carpeta indicada para almacenar ese proyecto de instalación y dependiendo que estemos en modo Debug o Release, tendremos que navegar hasta la carpeta correspondiente.
Dentro de esa carpeta se incluirán estos ficheros:
Figura 8, los ficheros generados con el instaladorRealmente sólo necesitaremos el fichero con la extensión .msi, ya que el resto es para los casos de que el equipo de destino no disponga del Windows Installer 2.0, si estamos seguro de que es así, sólo necesitaremos usar el fichero Setup1.msi, si no estamos seguro de que tenga el Windows Installer 2.0, usaremos los 5 ficheros incluidos en el directorio.
Nota:
Si seleccionamos Propiedades del proyecto de instalación (el último icono mostrado al seleccionar el proyecto de instalación del Explorador de soluciones, ver figura 7), podemos cambiar esta generación de tantos ficheros "de soporte", es decir, podemos cambiar la configuración para que sólo se genere el fichero con extensión .msi
Proyecto de instalación sin usar el asistente:
Si te decides por seleccionar un proyecto de instalación sin usar el asistente, sigue estos pasos para crearlo:1- Del cuadro de diálogo de Agregar nuevo proyecto (ver figura 1), selecciona Proyecto de instalación.
2- Se agregará un nuevo proyecto de instalación.
3- Selecciona el proyecto del Explorador de soluciones, pulsa con el botón secundario del ratón y del menú desplegable selecciona la opción Agregar>Resultados del proyecto.
4- Se mostrará una ventana como la de la figura 9:
Figura 9, agregar grupo de resultados del proyecto5- Seleccionaremos de la lista desplegable el proyecto que queremos usar y pulsaremos en Aceptar.
A partir de este momento, el resto será como si hubiésemos usado el asistente.
También podemos usar esta última forma de agregar resultados (o más cosas) en el caso de que queramos distribuir más de un proyecto, ya que en esa lista desplegable se mostrarán cada uno de los proyectos que tengamos en nuestra solución (o grupo de proyectos).
Bueno, y esto es todo... espero que, aunque sólo haya sido de forma genérica, te haya quedado claro cómo crear un proyecto de instalación para Windows.
En otra ocasión veremos cómo crear otros tipos de proyectos de instalación y/o cómo configurar o adaptar las imágenes que se mostrarán... aunque esto es lo mismo para un proyecto de Visual Studio .NET como para uno de Visual Studio (o Visual Basic), siempre que usemos el Visual Studio Installer.Nos vemos.
Guillermo
Nerja, 15 de junio de 2003