Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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).
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)
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.
o Add file(s): permite añadir ficheros a nuestra compilación
o Add directory: permite añadir directorios a nuestra compilación. Aparece un
mensaje que nos pregunta: Should Files in subdirectory el-que-hemos-puestoalso
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.
o 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)
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
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
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:
Aquí vemos como quedaría nuestro script de instalación.
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 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):
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]
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.
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 poremail.
Un saludo.