Top Banner
Tutorial de Inno Setup « en: Octubre 24, 2007, 18:46:07 » 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.
12

Tutorial de Inno Setup

Jun 16, 2015

Download

Documents

JJJT1973
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tutorial de Inno Setup

Tutorial de Inno Setup « en: Octubre 24, 2007, 18:46:07 »

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.

Page 2: Tutorial de Inno Setup

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

Page 3: Tutorial de Inno Setup

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

Page 4: Tutorial de Inno Setup

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.

Page 5: Tutorial de Inno Setup

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

Page 6: Tutorial de Inno Setup

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

Page 7: Tutorial de Inno Setup

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

Page 8: Tutorial de Inno Setup

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:

Page 9: Tutorial de Inno Setup

Aquí vemos como quedaría nuestro script de instalación.

Page 10: Tutorial de Inno Setup

Primero aparece [Setup], que son los parámetros principales de la instalación.

Después los [Languajes] en los cuales se ofrecerá la instalación.

Las [Tasks], básicamente si se ofrecerá la posibilidad de crear iconos en el escritorio y en la

barra de lanzamiento rápido.

Después aparecen los [Files] archivos que se instalaran con nuestra aplicación. Para OCX y

DLLs, ver punto 16. Para Tablas de contenido (.tlb), ver punto 17.

[INI], Aquí aparece el link a nuestra página web, caso que la hayamos definido en el

asistente.

[Icons] Los iconos que se crearan en el menú de inicio y barra de lanzamiento rápido.

Importante: Ausias hace notar que los iconos que se crean, se crearán en función del tipo de

archivo que hace las funciones de cabecera. Asi pues, si nuestra aplicación de cabecera es una BDD

en Access, mostrará el icono asociado a las bases de datos Access.

Cómo lo solucionamos.

Veras que esta sección tiene varias líneas. Debemos encontrar aquellas que hacen referencia a la

aplicación de cabecera. Probablemente existan 2: la del escritorio y la del menú de inicio. Estas son

Page 11: Tutorial de Inno Setup

las líneas que ha generado mi Wizard (y en verde y negrita lo que hay que añadir para que se

apliquen nuestros iconos):

Name: "{group}\Control de llamadas"; Filename: "{app}\Llamadas v2.mdb"; IconFilename:

"{app}\TEL10A.ico"

Name: "{group}\{cm:ProgramOnTheWeb,Control de llamadas}"; Filename: "{app}\Llamadas

v2.url"

Name: "{group}\{cm:UninstallProgram,Control de llamadas}"; Filename: "{uninstallexe}"

Name: "{userdesktop}\Control de llamadas"; Filename: "{app}\Llamadas v2.mdb"; Tasks:

desktopicon; IconFilename: "{app}\TEL10A.ico"

Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Control de llamadas"; Filename:

"{app}\Llamadas v2.mdb"; Tasks: quicklaunchicon

Obviamente, el icono deberá incluirse en el paquete de instalación y, para mejor funcionamiento,

estar en el mismo directorio que la aplicación (o en un subdierctorio de la misma).

[Run] el programa de cabecera de nuestra aplicación. El que hemos definido en el punto 7.

Rodolfo Vallejos hace un aporte: si necesitas lanzar una segunda aplicación externa después de la

instalación, se puede añadir una línea como esta en el apartado [Run]

Filename: {app}\OtraAplicacion.exe; WorkingDir: {app}; Flags: shellexec

[UninstallDelete] La información de desinstalación, si hemos marcado que se cree en el asistente

15. Si en el punto 14 hemos contestado que no, y ahora queremos crear el fichero, seleccionamos

el menú Build / Compile. Esto nos creará el Setup.exe en el directorio que le hayamos especificado.

16. Instalar un OCX o una DLL. Bien, parece que para instalar un OCX o una DLL deberemos

ponernos dentro del script directamente. Entonces añadiremos la siguiente línea en el apartado

[Files]

Source: "rutacompletalfichero\fichero.ext"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder;

Flags: restartreplace sharedfile regserver

Esto recupera el fichero OCX o DLL que queremos que se instale conjuntamente con nuestra

aplicación, lo incluye en el Setup.exe y, cuando se instala, procede a registrarlo en la máquina. El

argumento alwaysskipifsameorolder, hace que se reemplace el fichero (caso de existir) sin

preguntar nada, con la excepción de que nunca se sobrescriben versiones posteriores.

17. Instalar tablas de contenido (.tlb). Al igual que para un OCX o una DLL, deberemos meternos

en el script directamente.

Source: "rutacompletalfichero\fichero.tlb"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder;

Flags: restartreplace sharedfile regtypelib

18. Aportación de Rodolfo Vallejos. Si uno de los archivos que estamos instalando lo queremos

mantener cuando el usuario decide desinstalar nuestro programa, podemos indicarlo en la linea del

Page 12: Tutorial de Inno Setup

File correspondientes (apartado [Files], obviamente) añadiendo este Flag: uninsneveruninstall

19. Otro aporte de Rodolfo Vallejos. Si necesitamos meter mano en el registro de Windows,

podemos añadir esto al final del Script:

[Registry]

Root: HKCU; Subkey: Software; ValueType: string; ValueName: elvalor; Flags:

createvalueifdoesntexist

Bueno, parece que esto ya esta un poco mas completo. Creo que ahora solo falta como poder pedir

una clave de producto, si es que se puede hacer. También estoy mirando los 'updates' de nuestro

producto, que parece que también se puede hacer.

En cuanto tenga un poco de tiempo, intento investigarlo. De todas formas, cualquier comentario,

aclaración o ampliación de lo aquí expuesto, me lo podéis mandar por email.

Un saludo.

Links interesantes (añadidos 20/05/2008)

ISSTool: Herramienta que sirve para editar un Script de Inno Setup. Creo que es un 'sustituto' del

Inno Setup que lo complementa.

Tutorial de José Guillermo Ortiz. Está orientado a la creación de un Script para un aplicación en

Visual FoxPro, pero contiene cosas muy interesantes.

Inno Setup Form Designer Otro interface para Inno Setup