martes, 13 de mayo de 2008

Empaquetar con Inno Setup

Bienvenidos a Qweb!.

www.qweb.es.mn

Torreón Coahuila México.

Como hacer un Setup.exe con Inno Setup

En el foro se ha preguntado varias veces como crear un archivo de instalación de nuestras aplicaciones para poder distribuirlas. Casi siempre se ha mencionado el mismo programa: Inno Setup. Pero no he encontrado una explicación a su funcionamiento (lo más probable es que no lo he sabido buscar)

Para este pequeño tutorial se ha utilizado Inno Setup 5.1.6. Según el archivo License.txt que acompaña al software, este se puede utilizar libremente. Solo dice que, si se utiliza para distribuir aplicaciones comerciales, seria un detalle mencionar que se ha utilizado dicho software, pero que no es imprescindible.

El software lo puedes descargar pinchando aquí. Selecciona Stable Release y descarga el exe o el zip (a conveniencia)

Una vez descargado e instalado, nos daremos cuenta de que el programa esta en inglés... vaya hombre ¿y ahora yo, que no sé inglés, como lo hago? Respuesta: Pues por eso he preparado este pequeño tutorial, aunque en realidad casi no hace falta, pero tenia ganas de escribir (y de paso, engordar la web).

Avanzándonos un poco a los acontecimientos (aun no hemos creado absolutamente nada), también nos daremos cuenta de que el programa viene acompañado de varios idiomas, entre los que, lamentablemente a fecha de hoy (2 de marzo de 2006), no se encuentra el Castellano. Pinchando aquí te podrás bajar el fichero de idioma en castellano. Es un pequeñísimo zip de 7 Kb, pero es que no he encontrado la forma de que se pueda bajar directamente (gracias Francesc López por reportar el bug). Descárgalo dónde quieras, pero el archivo .isl que contiene, lo copias en el directorio Languajes. Ese directorio esta dónde hayas instalado Inno Setup, habitualmente C:\Archivos de Programa\Inno Setup 5\

Vale, vamos 'al tajo'.

1. Abrimos Inno Setup

2. Lo primero que aparece es la posibilidad de crear un New file (2 opciones) o abrir un 'Scripting File' existente.

3. Nosotros, que no sabemos demasiado bien como funciona esto, escogeremos la opción 'Create a new script file using the Script Wizard' (con el asistente, a lo fácil)

4. Aparece el asistente para crear el fichero.

5. Muy bonito. Viene a decir que el asistente nos guiará en el proceso para crear un script. También avisa que no todas las utilidades están contempladas en el asistente, pero con las que nos ofrece, ya podremos crear algo 'chulo'. Next

6. Como dice en el pie del asistente, los campos en negrita son requeridos. Así pues, pondremos el nombre de nuestra aplicación, el nombre incluyendo la versión, quien publica la aplicación y la web del 'publicador'. Los nombres no necesariamente deben ser iguales, yo puedo llamar a mi aplicación Control de llamadas y a mi nombre con versión: Llamadas 2.0. El publicador es el nombre de nuestra compañía. Podríamos poner: MVP-Access o La Bellota Software y la página web relacionada. Procura ser coherente y no pongas links a Walt Disney... Una vez relleno, Next.

7. Ahora definimos el directorio donde se instalará el programa. Por defecto nos ofrece Program Files directory. Es decir, la carpeta Archivos de programa o Program Files (dependiendo del lenguaje del sistema operativo). No lo tocaremos. Lo que sí definiremos es el subdirectorio, por ejemplo: MVP-Acces\Llamadas. El check de 'Allow user...' sirve para permitir al usuario cambiar el directorio dónde se instalará. El check 'The application doesn't...' sirve para indicar que la aplicación no necesita un directorio (¿y dónde lo pondrá?), pero nunca lo marcamos. Next.

8. Vamos a definir cual es la aplicación de cabecera de nuestro 'paquete'. Para hacerlo fácil, clicaremos en 'Browse...' y buscaremos el archivo. No debe ser necesariamente un exe, puede ser cualquier tipo de archivo con una extensión 'conocida' que Windows tenga asociada a un programa concreto. Así pues, podríamos escoger una mdb sin problemas.

  • El check 'Allow user to start....' indica que, al final de la instalación se ofrecerá al usuario la posibilidad de abrir el programa.
  • El check 'The application doesn't...' deshabilita el 'main executable file', cosa que habitualmente necesitaremos. Por lo tanto no lo marcaremos.
  • 'Other application files': aquí es donde añadiríamos todos los ficheros auxiliares de nuestra aplicación. Caso de distribuir una aplicación basada en varias bases de datos, aquí es donde añadiríamos los ficheros (incluso los directorios). También podemos incluir los iconos, imágenes, documentos de texto, etc necesarios para el funcionamiento de nuestra aplicación. A petición de Sid, estudiamos como añadir los archivos de un subdirectorio y que estos se instalen correctamente.
    • Add file(s): permite añadir ficheros a nuestra compilación
    • Add directory: permite añadir directorios a nuestra compilación. Aparece un mensaje que nos pregunta: Should Files in subdirectory el-que-hemos-puesto also be included?. Pues eso, que si queremos incluir los ficheros de ese subdirectorio en la compilación. Si los añadimos y no hacemos nada más, en el momento de instalar, nos pondrá todos los ficheros en el mismo directorio que el raíz de la aplicación. Para que los ponga en un directorio aparte, utilizar el botón Edit.
    • Edit: Importante. Tal como decíamos antes, al añadir un subdirectorio, debemos indicarle al programa que también queremos que instale los archivos en un subdirectorio. Al clicar en este botón, se nos ofrece la posibilidad de especificar ese subdirectorio.

    En esta pantalla, el campo importante es el Destination subdirectory, que és dónde queremos que se instalen los archivos que hemos seleccionado en al añadir un directorio. Esta opción también sirve para instalar archivos individuales en otros directorios distintos del de nuestra aplicación (supongo que tendrá algo que ver con la instalación de ActiveX, pero no lo se seguro. Seguiremos investigando)

    • Remove. Borra el archivo/directorio que hemos añadido previamente a la compilación.

Next

9. Ahora vamos a decidir la ubicación de la aplicación en el menú de inicio de Windows. Si queremos crear un grupo porque somos muy "echaos p'alante" y distribuimos muchas aplicaciones, podemos poner el nombre de la compañía\aplicación. Por ejemplo: MVP-Access\Control de llamadas. Los checks sirven para lo siguiente:

  • Ofrecer al usuario la posibilidad de cambiar el nombre del directorio del menú inicio
  • Ofrecer al usuario la posibilidad de desactivar la creación de del menú de inicio
  • Crear un enlace a la página web que hemos indicado en el punto 6
  • Crear un icono de desinstalación en el directorio del menú inicio
  • Ofrecer al usuario la posibilidad de que se cree un icono en el escritorio
  • Ofrecer al usuario la posibilidad de que se cree un icono en la barra de lanzamiento rápido

Una vez decidido que queremos hacer con estas opciones, Next.

10. Documentación que acompaña al programa de instalación y que se mostrará durante la misma. Estos campos son opcionales.

  • License file: ruta al archivo txt que muestra los términos del contrato de licencia de nuestra aplicación. Si rellenamos esta línea, durante la instalación nos aparecerá una pantalla con la opción Acepto el contrato o no.
  • Information file shown before installation: ruta al archivo txt que muestra información sobre nuestro programa o sobre la instalación.
  • Information file shown after installation: ruta al archivo txt que muestra información sobre nuestro programa. Habitualmente seria dónde explicamos al usuario lo que hemos añadido de nuevo, algún truco o consejo, etc. Este seria el más parecido al Leeme.txt

Una vez asignados (a discreción) los archivos, Next.

11. Aquí es dónde decidimos en que idiomas se mostrara la información de instalación, es decir, en que idioma trabajará el asistente de instalación. Habitualmente aparece marcado English, pero puedes escoger más idiomas. Si me has hecho caso y has descargado el idioma castellano, también te aparecerá en la lista. Next.

12. Ahora definimos las opciones de compilación del programa.

  • Custom compiler output directory: aquí ponemos el directorio dónde se guardará el fichero compilado
  • Compiler output base file name: nombre del archivo exe que se generará. Por defecto aparece setup
  • Custom Setup icon file: icono que identificará a la aplicación. Es el que aparece en el menú de inicio, escritorio y barra de lanzamiento rápido una vez instalada la aplicación.
  • Setup password: aunque yo no lo he probado, parece obvio que pedirá una contraseña en el momento de la instalación

Una vez definidos los campos que queramos, Next.

13. Bien, ya hemos creado nuestro script para el archivo de instalación. Clicamos en Finish.

14. Nos aparecerá un mensaje que dice: Would you like compile the new script now?, vamos que si queremos compilar ya el fichero setup.exe que hemos definido con el asistente. A discreción. Este mensaje aparece sobre la pantalla que nos muestra el script:

1 comentario:

Xavi dijo...

No estaria de más un par de cosas:

- Quién ha escrito ese tutorial
- Actualizarlo

Un saludo

Xavi