ATLAS MANUAL DE USUARIO DEL INSTALADOR INNO SETUP 5 Versión 1.0 UNIDAD DE ARQUITECTURA DE SOFTWARE DE APLICACIONES
Hoja de Control Título MANUAL DE USO DEL INSTALADOR INNO SETUP 5 Documento de Referencia Responsable Unidad de Arquitectura Software de Aplicaciones Versión 1.0 Fecha Versión 14/01/2015 Registro de Cambios Versión Causa del Cambio Responsable del Cambio Fecha del Cambio 1.0 Versión inicial del documento Unidad de Arquitectura Software de Aplicaciones 01/12/2014 1.1 1
Índice 1 INTRODUCCIÓN... 3 1.1 AUDIENCIA OBJETIVO... 3 1.2 CONOCIMIENTOS PREVIOS... 3 2 DESCRIPCIÓN... 3 3 INSTALACIÓN Y CONFIGURACIÓN... 3 3.1 INSTALACIÓN... 4 3.2 CONFIGURACIÓN... 9 3.3 EJEMPLO DE SCRIPT... 16 4 USO... 19 4.1 EJEMPLO DE USO... 19 5 PREGUNTAS MÁS FRECUENTES... 24 6 ENLACES RELACIONADOS... 24 2
1 INTRODUCCIÓN El software Inno Setup 5 de tipo instalador sirve para hacer instalables de aplicaciones ejecutables de tipo escritorio. 1.1 AUDIENCIA OBJETIVO Este documento va dirigido a desarrolladores de proyectos tanto Java como Delphi para I.C.M. en los que se desee crear una aplicación de escritorio. 1.2 CONOCIMIENTOS PREVIOS Para personalizar el instalable con este instalador, el lector deberá tener conocimientos previos sobre la siguiente tecnología: Pascal o Delphi. 2 DESCRIPCIÓN Este manual le mostrará cómo crear un instalador para su aplicación de escritorio de una manera sencilla. El instalador es un archivo EXE, el cual podrá distribuirse por internet o por email por ejemplo. Le incluiremos todo lo necesario para instalar las aplicaciones en la computadora del usuario. El manual usa Inno Setup 5, un instalador gratuito para programas de Windows escrito por Jordan Russell. El paquete es muy amigable para trabajar, el cual incluye Inno Setup y add-ons de otras compañías las cuales hace a Inno Setup fácil de usar. 3 INSTALACIÓN Y CONFIGURACIÓN 3
3.1 INSTALACIÓN Para la instalación del instalador, en primer lugar nos lo descargaremos de su página web: http://www.jrsoftware.org/isdl.php Vamos a ver paso a paso como instalarlo: 4
Figura 1. Web de Inno Setup de donde podemos bajárnoslo. Figura 2. Primera pantalla al ejecutar el isetup-5.5.5.exe para elegir el idioma de las pantallas asistentes de la instalación del mismo. Figura 3. Pantalla de bienvenida de la instalación de Inno Setup. 5
Figura 4. Pantalla de licencia de Inno Setup. Figura 5. Directorio donde vamos a instalar Inno Setup. 6
Figura 6. Carpeta del menú inicio donde se instalará los accesos directos de Inno Setup. Figura 7. Opción para habilitar la herramienta que se encarga de leer de registro o ficheros.ini en tiempo de compilación. 7
Figura 8. Pantalla para asociar los ficheros de proyecto.iss con Inno Setup. Figura 9. Pantalla de resumen de la instalación de Inno Setup. 8
Figura 10. Pantalla de finalización de la instalación de Inno Setup con check de ejecución inmediata del mismo. 3.2 CONFIGURACIÓN La herramienta más útil es ISTool, que es un editor de scripts que le facilita la vida al desarrollador. ISTool incluye un asistente, el cual nos ayudará a empezar con algunas particularidades en nuestro script. Vamos a ver paso a paso como configurarlo. 9
Figura 1. El Asistente para Scripts de Inno Setup. Figura 2. Esta información se mostrará cuando se ejecute el Setup del programa. 10
Figura 3. Aquí se decide la ruta de instalación del programa en la computadora del usuario. Figura 4. Aquí podemos agregar nuestros archivos, de cualquier forma también lo podemos hacer en el editor de scripts. 11
Figura 5. Aquí seleccionamos algunas de las opciones del Menú de Inicio de nuestra aplicación. Figura 6. Aquí podemos agregar información para ayudar al usuario a configurar el programa. 12
Figura 7. Aquí podemos elegir el idioma en el que queremos crear el instalable. Figura 8. Esta información es para ayudar al desarrollador a incorporar los archivos que serán compilados en setup EXE en su propia computadora. Esto no afectará el archivo resultante, solo es para su conveniencia. Es recomendable que use nombres de archivo distintivos para el archivo 13
resultante, lo anterior evitará confusiones con otros proyectos. Figura 9. Accesos Rápidos para el desarrollador con directivas de compilación. Figura 10. Pantalla de finalización del instalable creado. 14
Figura 11. Pantalla para compilar el script del instalable creado. Figura 12. Pantalla de elección de directorio para salvar el script del instalable creado. Figura 13. El Script hecho por el Asistente de Inno Setup. 15
3.3 EJEMPLO DE SCRIPT Script de ejemplo de escritura en el registro: CodePrepareToInstall.iss [Code] const (*** Customize the following to your own name. ***) RunOnceName = 'My Program Setup restart'; QuitMessageReboot = 'The installation of a prerequisite program was not completed. You will need to restart your computer to complete that installation.'#13#13'after restarting your computer, Setup will continue next time an administrator logs in.'; QuitMessageError = 'Error. Cannot continue.'; var Restarted: Boolean; function InitializeSetup(): Boolean; begin Restarted := ExpandConstant('{param:restart 0}') = '1'; if not Restarted then begin Result := not RegValueExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName); if not Result then MsgBox(QuitMessageReboot, mberror, mb_ok); end else Result := True; end; function DetectAndInstallPrerequisites: Boolean; begin (*** Place your prerequisite detection and installation code below. ***) (*** Return False if missing prerequisites were detected but their installation failed, else return True. ***) //<your code here> Result := True; (*** Remove the following block! Used by this demo to simulate a prerequisite install requiring a reboot. ***) if not Restarted then RestartReplace(ParamStr(0), ''); end; function Quote(const S: String): String; 16
begin Result := '"' + S + '"'; end; function AddParam(const S, P, V: String): String; begin if V <> '""' then Result := S + ' /' + P + '=' + V; end; function AddSimpleParam(const S, P: String): String; begin Result := S + ' /' + P; end; procedure CreateRunOnceEntry; var RunOnceData: String; begin RunOnceData := Quote(ExpandConstant('{srcexe}')) + ' /restart=1'; RunOnceData := AddParam(RunOnceData, 'LANG', ExpandConstant('{language}')); RunOnceData := AddParam(RunOnceData, 'DIR', Quote(WizardDirValue)); RunOnceData := AddParam(RunOnceData, 'GROUP', Quote(WizardGroupValue)); if WizardNoIcons then RunOnceData := AddSimpleParam(RunOnceData, 'NOICONS'); RunOnceData := AddParam(RunOnceData, 'TYPE', Quote(WizardSetupType(False))); RunOnceData := AddParam(RunOnceData, 'COMPONENTS', Quote(WizardSelectedComponents(False))); RunOnceData := AddParam(RunOnceData, 'TASKS', Quote(WizardSelectedTasks(False))); (*** Place any custom user selection you want to remember below. ***) //<your code here> RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName, RunOnceData); end; function PrepareToInstall(var NeedsRestart: Boolean): String; var ChecksumBefore, ChecksumAfter: String; begin ChecksumBefore := MakePendingFileRenameOperationsChecksum; if DetectAndInstallPrerequisites then begin ChecksumAfter := MakePendingFileRenameOperationsChecksum; if ChecksumBefore <> ChecksumAfter then begin CreateRunOnceEntry; NeedsRestart := True; 17
Result := QuitMessageReboot; end; end else Result := QuitMessageError; end; function ShouldSkipPage(PageID: Integer): Boolean; begin Result := Restarted; end; 18
4 USO El uso del instalable es muy fácil e intuitivo con el asistente personalizado que creamos anteriormente, a continuación veremos un ejemplo de uso. 4.1 EJEMPLO DE USO Figura 1. Pantalla de bienvenida del instalable creado anteriormente. 19
Figura 2. Pantalla del fichero licencia del instalable creado anteriormente. Figura 3. Pantalla de fichero léeme del instalable creado anteriormente. 20
Figura 4. Pantalla para elegir directorio donde se instalará nuestra aplicación y demás ficheros incluidos en nuestro instalable. Figura 5. Pantalla donde se elige carpeta del menú inicio donde se instalará los accesos directos. 21
Figura 6. Pantalla de creación de acceso directo en el escritorio. Figura 7. Pantalla de resumen de la instalación de Inno Setup. 22
Figura 8. Pantalla de finalización de la instalación del instalable. Figura 9. Pantalla de nuestra aplicación de ejemplo recién instalada y ejecutada. Figura 10. Pantalla de cierre de nuestra aplicación de ejemplo recordando que puede ser desinstalada en el panel de control de Windows->agregar o quitar programas Figura 11. Pantalla de desinstalación de la aplicación de ejemplo. 23
Figura 12. Pantalla de finalización de desinstalación. 5 PREGUNTAS MÁS FRECUENTES La lista de preguntas frecuentes se encuentra en el siguiente portal: http://www.jrsoftware.org/isfaq.php 6 ENLACES RELACIONADOS Producto URL Versión Inno Setup 5 http://www.jrsoftware.org/isinfo.php 5.5.5 Pascal Script 3 http://www.remobjects.com/ps.aspx 3.0 24