Creación de una distribución de aplicaciones de Windows en Inno Setup. Inno Setup Creando un instalador

¿Ha escrito un programa excelente y todo lo que tiene que hacer es crear un instalador original y decente para que el usuario pueda instalar fácil y simplemente su aplicación en su computadora con unos pocos clics? ¿Cómo hacer un instalador de software? Encontrarse - programa gratuito, ayudando a crear un instalador de alta calidad para la aplicación ejecutándose en un entorno de sistema operativo ventanas. El resultado del trabajo. Habrá un único instalador del programa EXE. Utilidad tiene amplias capacidades para crear un archivo de instalación de programa, en algunos casos, en funcionalidad significativamente superior a los productos comerciales para crear paquetes de software. Programa incluye un asistente para crear un paquete de instalación ( mago), gracias al cual puedes crear rápida y fácilmente un paquete de distribución del programa.

Creando una distribución

Inno Setup es fácil de configurar, tiene una estructura de script clara, admite cifrado y scripts en el idioma Pascal, configurar una contraseña, leer y escribir en el registro, configurar las tareas que se realizarán una vez completada la instalación. La opción de tipo de instalación le permite crear opciones como instalación completa, mínima o personalizada con un conjunto personalizado. Inno Setup admite la creación de distribuciones de software multilingües. Todas las características y configuraciones del futuro instalador del programa se almacenan en un script (script de instalación), que debe compilarse una vez escrito. El programa incluye ejemplos de scripts ya preparados, centrados en diversas tareas que realizará la distribución creada.


Script de instalación

Script de instalación este es un archivo de texto normal con la extensión INI dividido en secciones (los nombres de las secciones están entre corchetes: , , , etc.). El script contiene todas las opciones y configuraciones necesarias para la distribución creada, como información sobre el autor, nombre y versión del programa, archivos de la aplicación, directorio de instalación y otros. Si no tiene suficiente asistente para crear distribuciones o no tiene tiempo para estudiar los parámetros y las constantes de la sección, hay una gran cantidad de scripts listos para usar para Inno Setup en Internet.


Los paquetes de instalación creados por el programa Inno Setup funcionan sin fallas, están bien diseñados e implementan todos los requisitos necesarios para instalar el software. Inno Setup es profesional, competente, gratis y confiable herramienta de cualquier programador. El archivo que se ofrece para descargar contiene un archivo de ayuda traducido al ruso (ayuda) programas

Sitio web oficial: http://www.jrsoftware.org
Sistemas operativos: Windows Todos
Idiomas admitidos: inglés
Versión: 5.4.2 (a)
Licencia: software gratuito (gratis)

Tamaño del archivo 1,79 MB

Inno Setup es un programa para crear paquetes de instalación. El archivo de instalación de una aplicación creada por la utilidad le permite leer y escribir datos en el registro y en los archivos de configuración INI durante su instalación. Es posible registrar bibliotecas y componentes ActiveX, así como iniciar programas externos. Además, la utilidad tiene la opción de crear tipos de instalación, por ejemplo, como: instalación completa, mínima, personalizada, etc. Inno Setup contiene configuraciones donde puede determinar si aparecerá el cuadro de diálogo de bienvenida cuando inicie el programa instalado. Para facilitar su uso, existe una función para crear copias de seguridad de los proyectos de instalación cuando cambian. El sistema de ayuda de la utilidad está bastante bien escrito y respaldado por ejemplos.

Características del programa:

Compatible con todas las versiones modernas de Windows: Windows 8, Windows Server 2012, 7, 2008 R2, Vista, XP, 2003, 2000, 9x, NT 4.0.
Admite la instalación de programas de 64 bits en ediciones de 64 bits de Windows Vista, Windows 7, Windows XP y Windows 2003 Server. También admite procesadores x64 bits. (Si se utilizan procesadores Itanium, se debe instalar el Service Pack).
Admite la creación de EXE únicos para facilitar la instalación y distribución de programas a través de Internet.
Interfaz del asistente de instalación estándar al estilo de Windows 2000/XP.
Posibilidad de seleccionar el tipo de instalación, por ejemplo: Completa, Mínima, Personalizada.
Tiene soporte integrado para compresión DEFLATE, bzip2 y 7-Zip LZMA/LZMA2. El instalador puede comparar versiones de archivos, reemplazar archivos incrustados, instalar archivos compartidos, registrar bibliotecas DLL/OCX e instalar fuentes.
Le permite crear accesos directos en el menú Inicio y en el Escritorio.
Le permite crear entradas de registro y archivos .ini.
Tiene soporte integrado para scripts en Object Pascal.
Admite la creación de instaladores de programas multilingües.
Admite Unicode y idiomas de derecha a izquierda.
Admite la configuración de contraseña y el cifrado de instaladores de programas.
Códigos fuente disponibles para Borland Delphi 2.0-5.0 y 2009.

[colapsar]

Sobre el rusificador:

El cracker viene en forma de un paquete de instalación que contiene la versión completa de Inno Setup v5.5.8 (ANSI y Unicode, respectivamente), cuya instalación no requiere la versión original en su PC. Si por alguna razón desea utilizar la versión localizada del programa junto con la original, instálela en un directorio diferente.

La traducción se realizó en el código fuente y luego el programa se compiló en el entorno de desarrollo Delphi. La codificación del documento ICPP.chm traducido mediante comandos del preprocesador se cambió a windows-1251 (debido a la codificación UTF-8, la búsqueda de texto era imposible). El documento ISetup.chm original se ha reconstruido con la codificación windows-1251 (en lugar de windows-1252). Ahora el documento conectado ISPP.chm se muestra correctamente en ISetup.chm (en la tabla de contenido).

[colapsar]

Acerca del generador IS GameScript:

Un sencillo asistente de creación de scripts para instalar uno o más juegos. Puede insertar música, presentaciones de diapositivas y fondos de pantalla en el instalador. Para los especialistas, el guión creado puede ser una buena preparación para una mayor modernización.

[colapsar]

Cómo crear un instalador/RePack simple de juegos/programas

Para facilitar la instalación de sus programas en las computadoras de los usuarios, deberá crear un kit de distribución. Hoy quiero hablarles de una herramienta muy poderosa y gratuita para crear distribuciones para el sistema operativo Windows: Inno Setup.

Acerca de la configuración Inno

Inno Setup, que apareció en 1997, hoy compite con los instaladores pagos e incluso supera a muchos de ellos en términos de número de funciones y estabilidad. Se encuentra la página de inicio del proyecto.

Estas son las características clave del instalador:

      • Admite todas las versiones de Windows desde Windows 2000, incluidos: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003 y Windows 2000. En este caso, no se requieren paquetes de actualización.
      • Amplio soporte para instalar aplicaciones de 64 bits en versiones de 64 bits de Windows. Compatibilidad con arquitecturas x64 e Itanium (si utiliza Windows Server 2003 en la arquitectura Itanium, se requiere el Service Pack 1 o posterior para instalar el modo de 64 bits).
      • La capacidad de crear un kit de distribución que consta de un único archivo EXE para una fácil distribución en Internet. También se admite la partición de disco.
      • Interfaz del asistente de instalación estándar al estilo de Windows 2000/XP.
      • Tipos de instalación personalizables como Completa, Compacta, Personalizada.
      • Amplia gama de opciones de desinstalación.
      • Instalación de archivos: Incluye soporte integrado para compresión deflate, bzip2 y 7-Zip LZMA/LZMA2. El instalador puede comparar versiones de archivos, reemplazar archivos usados, usar el recuento de archivos compartidos, registrar DLL/OCX y bibliotecas de tipos, e instalar fuentes.
      • Cree accesos directos en cualquier lugar, incluido el menú Inicio y el escritorio.
      • Creación de elementos de registro y archivos INI.
      • Ejecute otros programas antes, durante y después de la instalación.
      • Creación de distribuciones multilingües, incluidos idiomas de izquierda a derecha.
      • Creación de distribuciones cifradas y protegidas con contraseña.
      • Soporte para firma digital durante la instalación y desinstalación.
      • Instalación y desinstalación oculta.
      • Soporte Unicode.
      • Preprocesador incorporado para personalización adicional durante la compilación.
      • Motor de script Pascal incorporado para realizar acciones adicionales durante la instalación y desinstalación.
      • Código fuente gratuito (Borland Delphi 2.0-5.0 y 2009).

La gran ventaja de Inno Setup es que su uso es absolutamente gratuito, incluso para uso comercial. Aunque, como agradecimiento o para apoyar al instalador, puedes hacer una donación. También hay una lista de todas las personas que donaron $100 o más.

Así es como se ve la página de inicio de un asistente de instalación de distribución estándar creado con Inno Setup.

Acerca de la creación de una distribución en Inno Setup

La creación de una distribución utilizando Inno Setup procede de la siguiente manera:

1. Primero crea un script de Inno Setup. El script Inno Setup es un archivo de texto con la extensión .iss, que contiene las propiedades de la distribución y un conjunto de acciones realizadas durante la instalación y desinstalación. El script se puede crear usando el editor estándar Inno Setup (ver imagen) o usando uno de los editores de terceros, como Inno Script Studio o ISTool. En este artículo solo cubriré el uso del editor estándar Inno Setup.

2. Luego compilas el script, lo que da como resultado una distribución.
3. Después de la compilación, puede probar y depurar la distribución resultante, realizando la instalación y desinstalación.

Instalación de configuración Inno

Para crear distribuciones usando Inno Setup, solo necesita instalar el compilador Inno Setup en su computadora. La distribución se puede descargar. Puede encontrar el enlace de descarga de la última versión estable en la sección Versión estable. Al momento de escribir este artículo, la última versión de Inno Setup era 5.5.5, vea la imagen. Para descargar la distribución, haga clic en el enlace "Sitio aleatorio" al lado de la versión con soporte Unicode (archivo isetup-5.5.5-unicode.exe) o sin él (versión ANSI - archivo isetup-5.5.5.exe). Para evitar problemas al mostrar el alfabeto cirílico, es mejor utilizar inmediatamente la opción Unicode Inno Setup.

Si va a cifrar su distribución futura, entonces necesita descargar el módulo de cifrado ISCrypt.dll por separado en la sección Módulo de cifrado, vea la imagen (a continuación verá un enlace a los códigos fuente de este módulo: ISCrypt.zip).

En la misma página, en la sección QuickStart Pack, puede encontrar un enlace a los kits de distribución ispack-5.5.5.exe e ispack-5.5.5-unicode.exe para instalar Inno Setup junto con Inno Script Studio, vea la imagen. Inno Script Studio es un desarrollo de terceros (Kymoto Solutions) que le ofrece una interfaz fácil de usar y la capacidad de depurar su instalador en tiempo de ejecución. Además, esta distribución ofrecerá descargar e instalar el módulo de cifrado ISCrypt.dll automáticamente.

Además de todo lo anterior, en la página de descarga hay secciones Versión Beta, para descargar versiones beta de Inno Setup y para descargar códigos fuente, en las que no me centraré.

Si va a utilizar editores de scripts de Inno Setup más avanzados, también le interesará la página de archivos de terceros de Inno Setup con una lista de desarrollos de terceros. Estos son los desarrollos de terceros que podemos utilizar junto con Inno Setup:

      • Inno Script Studio: interfaz de usuario y depurador. Se instala utilizando la distribución QuickStart Pack (ver arriba) o una distribución separada que puede descargar desde el sitio web del desarrollador. Hay rusificación.

      • Visual & Installer es un complemento pago para Visual Studio (se admiten Visual Studio 2005, 2008, 2010, 2012 y 2013) para crear distribuciones utilizando Inno Setup. Visual & Installer también contiene un asistente de instalación gráfico, que le permite crear distribuciones diseñadas temáticamente (ver ejemplos).

    • Inno Download Plugin: biblioteca y script Inno Setup, que permite descargar archivos durante la instalación de su distribución. Hay soporte para el idioma ruso. Se admiten los protocolos FTP, HTTP y HTTPS.

      • InnoTools Downloader es otra opción, similar a Inno Download Plugin, también para descargar archivos durante la instalación. Pero aquí no hay localización y solo se admiten FTP y HTTP.
      • Estilos VCL para Inno Setup / ISSkin / Graphical Installer (esta última herramienta es de pago): herramientas para cambiar el diseño del asistente de instalación de su distribución.

      • InnoScript: crea automáticamente un archivo de script de Inno Setup (.iss) a partir de un archivo de proyecto de Visual Basic (.vbp o .vbproj). Hay rusificación.

      • – crea un kit de distribución para un proyecto de Visual Basic desde el entorno de desarrollo de Visual Basic 6.0.

      • – le permite utilizar un archivo de proyecto Delphi (.dpr) o un archivo de proyecto de biblioteca Delphi (.dpk) para crear una lista de dependencias necesarias para crear una distribución. Esta utilidad se negó a funcionar para mí con el proyecto Delphi XE3.
      • Inno Setup Script #Includes es una biblioteca de funciones que puede utilizar durante la instalación. Se puede ver la lista de funciones.
      • Inno Setup Easy Translator es un editor de archivos de idioma de Inno Setup (.isl). Este sitio ha estado inactivo desde 2013, pero no hay necesidad de preocuparse porque puede crear y editar fácilmente archivos de idioma en cualquier editor de texto.
      • UninsHs es una extensión que le permite agregar soporte para Reparar/Modificar/Eliminar a sus aplicaciones.

También en esta lista, por alguna razón, todavía hay algunos desarrollos bien conocidos (lista actualizada el 13/04/2015):

      • – interfaz de usuario para trabajar con el script Inno Setup. Este programa es muy similar a Inno Script Studio. Si busca, puede encontrar Rusificación, vea la imagen.

      • InnoIDE es otra interfaz de usuario para trabajar con el script Inno Setup. El sitio web InnoIDE dejó de existir alrededor de agosto de 2012 (www.innoide.org), por lo que no tiene sentido utilizar este desarrollo. Pero se ha conservado el archivo del sitio, que se puede consultar. También puedes descargar la distribución allí. La rusificación de InnoIDE se puede encontrar en Internet.

      • InnoSetup Script Joiner es una utilidad que combina varios scripts de Inno Setup en uno.
      • (Inno Setup Unpacker): desempaquetador de distribuciones creadas con Inno Setup. Aplicación de consola.
      • InnoExtractor es otro desempaquetador, pero tiene una interfaz de usuario. Hay rusificación. Funcionó perfectamente con mi distribución de prueba cifrada (ver imagen). Como puede ver, obtiene absolutamente todos los archivos, incluidos los archivos utilizados por el instalador e incluso el archivo de script de Inno Setup.

En realidad, una vez que haya decidido la funcionalidad necesaria, puede comenzar la instalación. Aquí solo veremos la instalación de Inno Setup + Inno Script Studio usando el QuickStart Pack (archivo ispack-5.5.5-unicode.exe). Aunque no tiene sentido describir todos los pasos en detalle, me centraré sólo en algunos. La casilla de verificación "Descargar e instalar Inno Script Studio" debe estar marcada si desea instalar Inno Script Studio, la casilla de verificación "Instalar preprocesador de configuración Inno" - para instalar el preprocesador, la casilla de verificación "Descargar e instalar soporte de cifrado" - para instalar ISCrypt Módulo .dll para cifrar la distribución.

Primer lanzamiento del compilador Inno Setup

La única ventana del programa Inno Setup es la ventana del compilador. El compilador se inicia desde el menú Inicio. Cuando lo inicie por primera vez, verá un mensaje que le pedirá que cree un script vacío, ejecute el Asistente para crear scripts o abra ejemplos o archivos usados ​​recientemente.

Si no tiene experiencia con Inno Setup, los ejemplos le resultarán útiles. Abramos un ejemplo, hagamos clic en el botón "Aceptar" y seleccionemos uno de los ejemplos. Una vez abierto el ejemplo, puede evaluar cómo se ve un script de Inno Setup simple. También tenga en cuenta que la interfaz del compilador es muy simple y deberá escribir todo el script manualmente. Aquí sólo tendrás referencias y ejemplos a tu disposición.

Uso del asistente para crear un script de configuración de Inno

Puede crear un nuevo script de Inno Setup desde cero o puede utilizar el Asistente de script. Por ejemplo, crearé un kit de distribución para instalar el programa MyProg.exe, que se encuentra en la carpeta de ejemplos (instalado con Inno Setup). Cuando se inicia, el programa muestra dos ventanas y sale.

Para abrir la ventana del asistente de creación de scripts, haga clic en el elemento del menú "Archivo -> Nuevo". O en la ventana de bienvenida, seleccione la opción "Crear un nuevo archivo de script usando el Asistente de scripts" y haga clic en "Aceptar". La primera pantalla del asistente será un mensaje de bienvenida. Haga clic aquí "Siguiente >".

En la segunda pantalla, ingrese el nombre de la aplicación, la versión de la aplicación, el editor de la aplicación y el sitio web de la aplicación. Los campos obligatorios están marcados en negrita en el asistente, mientras que el resto se puede dejar en blanco.

En el siguiente paso, selecciona una carpeta para su aplicación. De forma predeterminada, como puede ver en la imagen, esta es una carpeta con el mismo nombre que el nombre de la aplicación y se creará dentro de la carpeta Archivos de programa. La casilla de verificación "Permitir al usuario cambiar la carpeta de la aplicación" permitirá al usuario cambiar la carpeta durante el proceso de instalación. Y cuando marca la casilla de verificación "La aplicación no necesita una carpeta", la carpeta de la aplicación no se creará en absoluto.

Si selecciona "(Personalizado)" en la lista desplegable "Carpeta base de destino de la aplicación", en el campo justo debajo puede establecer una ruta arbitraria. Por ejemplo, para que la carpeta de su aplicación esté en la unidad del sistema, debe especificar "(sd)".

Como puede ver, para indicar la unidad del sistema, especifiqué "(sd)" en lugar de "C:", porque la unidad del sistema puede ser diferente en diferentes computadoras. En general, en Inno Setup utilizarás constantes como “(sd)” muy a menudo. Todas las constantes están rodeadas por llaves y hay muchas. Aquí hay una lista completa de constantes con una breve descripción (para obtener una descripción completa, consulte la sección "Constantes" en la ayuda):

Constantes del directorio:

      • (aplicación) – directorio de la aplicación, por ejemplo, “C:\Porgram Files\My Program”.
      • (win) – Directorio de Windows, por ejemplo, “C:\WINDOWS”.
      • (sys): directorio System32, por ejemplo, “C:\WINDOWS\SYSTEM”.
      • (src): el directorio en el que se encuentran los archivos de distribución (esta es una carpeta temporal con archivos de distribución descomprimidos).
      • (sd) – unidad del sistema, por ejemplo, “C:”.
      • (pf): directorio de la aplicación, por ejemplo, “C:\Program Files (x86)” (en modo de 64 bits, esta será la carpeta para las aplicaciones de 64 bits). En modo de 32 bits esta constante es equivalente a la constante (pf32) y en modo de 64 bits es equivalente a (pf64).
      • (cf) – carpeta de archivos comunes, por ejemplo, “C:\Program Files (x86)\Common Files”. En modo de 32 bits esta constante es equivalente a la constante (cf32), y en modo de 64 bits es equivalente a (cf64).
      • (tmp): carpeta temporal utilizada durante la instalación o desinstalación (el nombre de la carpeta tendrá el formato “C:\WINDOWS\TEMP\IS-xxxxx.tmp”).
      • (fuentes) – carpeta de fuentes.
      • (dotnet11) – Carpeta raíz de .NET Framework 1.0.
      • (dotnet20) – Carpeta raíz de .NET Framework 2.0. En modo de 32 bits esta constante es equivalente a la constante (dotnet2032) y en modo de 64 bits es equivalente a (dotnet2064).
      • (dotnet40) – Carpeta raíz de .NET Framework 4.0. En modo de 32 bits esta constante es equivalente a la constante (dotnet4032) y en modo de 64 bits es equivalente a (dotnet4064).

Constantes de la carpeta del entorno:

      • (grupo): ruta a la carpeta del menú Inicio, accesible para todos los usuarios.
      • (localappdata): ruta a la carpeta de datos de la aplicación local (sin roaming).
      • (sendto): ruta a la carpeta Enviar a del usuario.
      • (userappdata) y (commonappdata): ruta a la carpeta Datos de la aplicación.
      • (usercf): ruta a la carpeta Archivos comunes del usuario (funciona solo para Windows 7 y versiones posteriores; para versiones anteriores de Windows, esta constante será igual a (localappdata)\Programas\Common).
      • (userdesktop) y (commondesktop) *: ruta a la carpeta del escritorio.
      • (userdocs) y (commondocs): ruta a la carpeta Mis documentos.
      • (favoritos del usuario) y (favoritos comunes) *: ruta a la carpeta Favoritos.
      • (userpf): ruta a la carpeta Archivos de programa del usuario (funciona solo para Windows 7 y versiones posteriores; para versiones anteriores de Windows, esta constante será igual a (localappdata)\Programas).
      • (programas de usuario) y (programas comunes) * - ruta a la carpeta "Todos los programas" en el menú "Inicio".
      • (menú de inicio de usuario) y (menú de inicio común) *: ruta al nivel superior del menú Inicio.
      • (userstartup) y (commonstartup) *: ruta a la carpeta Inicio en el menú Inicio.
      • (usertemplates) y (commontemplates) * - ruta a la carpeta "Plantillas".

* = Las constantes "comunes" son iguales a las constantes de "usuario" si el usuario carece de privilegios administrativos o la declaración PrivilegesRequired está configurada en el nivel más bajo.

Otras constantes:

      • (\): se utiliza en los casos en los que necesita instalar una barra diagonal al final de la ruta, por ejemplo, (aplicación)(\). De lo contrario, Inno Setup eliminará la última barra.
      • (%NOMBRE|DefaultValue): el valor de la variable de entorno, donde NOMBRE es el nombre de la variable, DefaultValue es la cadena que se utilizará si la variable no existe. Valor predeterminado: opcional. Ejemplos: (%COMSPEC) o (%PROMPT|$P$G). Si la línea usa los caracteres “”, “|”, “)” o “%”, entonces en lugar de ellos debe escribir “%2c”, “%7c”, “%7d” y “%25”, respectivamente.
      • (cmd): la ruta completa a la consola, por ejemplo, Windows\System32\cmd.exe (la variable de entorno COMSPEC no se utiliza para expandir esta constante).
      • (nombre de computadora): el nombre de la computadora en la que se realiza la instalación o desinstalación (el valor devuelto por la función GetComputerName).
      • (unidad:Ruta): obtiene la letra de la unidad seguida de dos puntos de una ruta arbitraria. Si se especifica una ruta UNC, devuelve el servidor y la carpeta, por ejemplo, \\SERVER\SHARE. Aquí también, para escribir los caracteres “”, “|”, “)” o “%”, es necesario escribir “%2c”, “%7c”, “%7d” y “%25”, respectivamente. Aquí hay ejemplos: (unidad:(src)), (unidad:c:\ruta\archivo) o (unidad:\\servidor\compartido\ruta\archivo).
      • (nombre de grupo): el nombre de la carpeta en el menú Inicio para los elementos del menú que el usuario seleccionó durante la instalación. A diferencia de la constante (grupo), devuelve sólo el nombre, no la ruta completa.
      • (hwnd): identificador de la ventana de fondo del instalador.
      • (wizardhwnd): identificador de la ventana del asistente del instalador o 0 si el identificador no está disponible.
      • (ini:Nombre de archivo,Sección,Clave|Valor predeterminado): valor del archivo INI, donde Nombre de archivo es el nombre del archivo INI, Sección es el nombre de la sección en el archivo INI, Clave es el nombre de la clave en el INI archivo, DefaultValue es la cadena que necesita usar si no se encuentra la clave especificada. Aquí también, para escribir los caracteres “”, “|”, “)” o “%”, es necesario escribir “%2c”, “%7c”, “%7d” y “%25”, respectivamente. Ejemplo: (ini:(win)\MyProg.ini,Configuración,Ruta|(pf)\Mi programa).
      • (idioma) – nombre interno del idioma seleccionado.
      • (cm:Nombre del mensaje) y (cm:Nombre del mensaje,Argumentos): mensaje en el idioma actual, donde Nombre del mensaje: nombre del mensaje, Argumentos: argumentos del mensaje, separados por comas. Aquí también, para escribir los caracteres “”, “|”, “)” o “%”, es necesario escribir “%2c”, “%7c”, “%7d” y “%25”, respectivamente. Ejemplo: (cm:Programa de lanzamiento,Configuración Inno).
      • (reg:HKxx\SubkeyName,ValueName|DefaultValue): una cadena del registro, donde HKxx es la clave raíz del registro, SubkeyName: la ruta a la clave deseada, ValueName: el nombre del valor (o vacío si necesita leer el valor predeterminado para la clave), DefaultValue: la cadena que se usará si no hay un valor especificado o el valor no es una cadena (REG_SZ o REG_EXPAND_SZ). Aquí también, para escribir los caracteres “”, “|”, “)” o “%”, es necesario escribir “%2c”, “%7c”, “%7d” y “%25”, respectivamente. Ejemplo: (reg:HKLM\Software\Mi programa,Ruta|(pf)\Mi programa).
      • (param:ParamName|DefaultValue): parámetro pasado al instalador en la línea de comando, donde ParamName es el nombre del parámetro y DefaultValue es la cadena que se utilizará si no se encuentra el parámetro especificado. Aquí, para escribir los caracteres “”, “|”, “)” o “%”, debes escribir “%2c”, “%7c”, “%7d” y “%25”, respectivamente. Ejemplo: (param:Ruta|(pf)\Mi programa).
      • (srcexe): ruta completa al instalador, por ejemplo, C:\SETUP.EXE.
      • (uninstallexe): ruta completa al desinstalador creado por el instalador, por ejemplo, C:\Program Files\My Program\unins000.exe. Esta constante se utiliza normalmente para crear un acceso directo para desinstalar un programa en la sección del script de instalación de Inoo. La constante solo es válida si la declaración Uninstallable está establecida en sí.
      • (sysuserinfoname), (sysuserinfoorg): el nombre y la organización, respectivamente, bajo la cual está registrado Windows. Esta información se lee del registro.
      • (userinfoname), (userinfoorg), (userinfoserial): el nombre, la organización y el número de serie, respectivamente, especificados por el usuario en la página "Información del usuario" en el asistente del instalador (que se puede habilitar mediante la instrucción UserInfoPage). Normalmente, esta información se utiliza para escribir en el registro o INI para su uso posterior.
      • (nombre de usuario): el nombre del usuario que inició el instalador o desinstalador (se utiliza la función GetUserName).
      • (registro): nombre del archivo de registro o una cadena vacía si el registro no está habilitado.

El siguiente paso del asistente de script de configuración de Inno le permite agregar los archivos de su aplicación.

En el campo superior, se selecciona el archivo ejecutable principal. Si marca la casilla "Permitir al usuario iniciar la aplicación una vez finalizada la instalación", el usuario verá una propuesta para iniciar la aplicación después de la instalación. Si su distribución no tiene un archivo ejecutable, entonces puede marcar la casilla "La aplicación no tiene un archivo ejecutable principal". A continuación se muestra una lista de archivos para su distribución. Aquí puede agregar archivos individuales (el botón "Agregar archivo(s)...") o carpetas enteras (el botón "Agregar carpeta..."). Cuando agregue una carpeta, verá una pregunta adicional sobre si desea incluir subcarpetas o no.

Después de agregar carpetas y archivos a la lista, podrá editar cada elemento (botón "Editar...") o eliminarlo (botón "Eliminar"). En la ventana de edición, puede cambiar muchos parámetros: si necesita incluir subcarpetas de forma recursiva (casilla de verificación " Subcarpetas recursivas"), si necesita incluir carpetas vacías (casilla de verificación " Incluir subcarpetas vacías"), la carpeta base de destino (campos " Destino carpeta base") y la carpeta dentro de la carpeta de destino base ("subcarpeta de destino").

Solo agregaremos un archivo de ayuda como ejemplo.

El siguiente paso del asistente es seleccionar los iconos que se crearán. En el campo "Nombre de la carpeta del menú Inicio de la aplicación", establezca el nombre del grupo en el menú "Inicio". Si marca la casilla "Permitir al usuario cambiar el nombre de la carpeta del Menú Inicio", entonces el usuario podrá cambiar el nombre de la carpeta durante la instalación, y si marca la casilla "Permitir al usuario deshabilitar la creación de la carpeta del Menú Inicio", entonces el usuario podrá desactivar por completo la creación de esta carpeta en el menú Inicio. Marque la casilla "Crear un acceso directo a Internet en la carpeta del menú Inicio" y "Crear un icono de desinstalación en la carpeta del menú Inicio" para que el instalador cree accesos directos dentro del grupo, respectivamente, para abrir su sitio y desinstalar su aplicación. Las casillas de verificación “Permitir al usuario crear un ícono de escritorio” y “Permitir al usuario crear un ícono de Inicio rápido” permitirán al usuario crear accesos directos en el escritorio y en el grupo de Inicio rápido. Marcaré todas las casillas.

El siguiente paso es configurar los archivos de licencia y los archivos de información que se mostrarán antes y después de la instalación. Si especificó un archivo de licencia, durante la instalación el usuario deberá aceptar la licencia. Se admiten archivos .txt y .rtf. Especificaré los archivos licenses.txt y Readme.txt de la carpeta de ejemplos.

En el siguiente paso, seleccione los idiomas admitidos. Dejaré el inglés y agregaré el ruso.

El siguiente paso es configurar los parámetros para el compilador Inno Setup. En el campo "Carpeta de salida del compilador personalizado", especifique la ruta a la carpeta en la que el compilador Inno Setup guardará la distribución creada. Si este campo está vacío, la distribución se creará en la misma carpeta que el archivo .iss. El campo "Nombre del archivo base de salida del compilador" especifica el nombre base del archivo o archivos de distribución. Por ejemplo, si establece el nombre en "setup", cuando cree una distribución que consta de un archivo, recibirá el archivo setup.exe. En el campo "Archivo de icono de configuración personalizada", puede especificar el nombre del archivo de icono para la distribución futura. Si no se especifica nada aquí, se utilizará el icono estándar. En el último campo “Contraseña de configuración” puede especificar la contraseña que el usuario deberá especificar durante la instalación. Si la casilla de verificación "Usar la contraseña para cifrar los archivos de la aplicación" está marcada, los archivos de la distribución se cifrarán utilizando la contraseña especificada. Por ejemplo, completaré todos los campos a mi manera.

El siguiente paso le notifica que se ha detectado el preprocesador Inno Setup y le solicita que use #defines para simplificar su script. Si desea utilizar la directiva #define, deje la casilla de verificación "Sí, usar directivas del compilador #define". Si la casilla de verificación no está marcada, en el futuro podrá agregar directivas #define a su script manualmente.

Y por fin ha aparecido el último paso, donde simplemente pulsamos en el botón “Finalizar”.

Después de esto, el compilador inmediatamente quiere compilar nuestro script. Aceptemos y hagamos clic en el botón "Sí".

Tras esto, el compilador nos avisará de que el script no ha sido guardado y nos ofrecerá hacerlo.

Aceptemos (haga clic en "Sí") y guardemos el script. Después de guardar, se compiló el script y se creó la distribución finalizada, en el ejemplo este es el archivo my-setup.exe, en la carpeta que especifiqué en el asistente en el paso "Configuración del compilador". Después de la compilación, puede ver cómo fue en el panel "Salida del compilador" en la parte inferior de la ventana del compilador; vea la imagen.

Como puedes ver, todo es sencillo. Ahora probemos inmediatamente la distribución terminada. Haga clic en el elemento del menú "Ejecutar -> Ejecutar" para comenzar a instalar el programa.

Después de crear la plantilla de script, puede comenzar a agregar varias acciones avanzadas.

Depurar una distribución en Inno Setup

Para depurar su distribución, abra el script .iss y haga clic en el elemento del menú "Ejecutar -> Ejecutar" para iniciar la instalación del programa. Después de esto, podrá monitorear los procesos internos durante la instalación en la ventana "Salida de depuración", podrá establecer puntos de interrupción en las líneas necesarias, vea la imagen.

Para verificar el valor de una constante durante la depuración, haga clic en el elemento del menú "Ejecutar -> Evaluar constante..." y en el cuadro de diálogo que aparece, especifique el nombre de la constante (ver imagen) y haga clic en "Aceptar".

Luego de esto aparecerá la siguiente ventana con el resultado devuelto por la constante.

Para depurar la desinstalación, haga clic en el elemento del menú "Ejecutar -> Desinstalar destino" y luego en "Ejecutar -> Ejecutar". Y para volver a la instalación, haga clic en el elemento "Ejecutar -> Configuración de destino".

Estructura del script de configuración de Inno

Los scripts en Inno Setup están divididos en secciones. El nombre de cada sección está entre corchetes. Cada sección contiene elementos específicos de esa sección. Para mayor comodidad, puede crear varias secciones con el mismo nombre. Estas secciones se percibirán como una sola. He aquí un ejemplo:

[Configuración] AppName = Mi programa [Archivos] Fuente: "MYPROG.EXE"; DirDestino: "(aplicación)"

Puede comentar líneas para que el compilador las ignore precediéndolas con un punto y coma.

El script admite la directiva #include similar a C, que obliga al compilador a extraer líneas del archivo de texto arbitrario especificado al lugar donde aparece esta directiva. Aquí está la sintaxis:

#incluir "nombre de archivo.txt"

Con la directiva #preproc puede especificar qué preprocesador usar: el preprocesador integrado, que solo admite la directiva #include, o el preprocesador Inno Setup (ISPP), que admite una gran cantidad de directivas y funciones. De forma predeterminada, los scripts utilizan el preprocesador ISPP si está instalado y los archivos .isl utilizan el preprocesador integrado. Aquí está la sintaxis:

#preproc incorporado #preproc ispp

Secciones del script de configuración de Inno

Proporcionaré aquí una lista completa de todas las secciones de Inno Setup con una breve descripción. Puede encontrar una descripción completa de las secciones y una lista de los elementos de las secciones en la ayuda de la sección "Configurar secciones de script".

– esta sección contiene configuraciones globales utilizadas durante la instalación y desinstalación. Ejemplo:

[Configuración] AppName =Mi programa AppVersion =1.5 DefaultDirName =( pf ) \Mi programa DefaultGroupName =Mi programa

– una sección opcional que define las opciones de instalación (Completa/Compacta/Personalizada), que se mostrará en la página para seleccionar componentes para la instalación. Ejemplo:

[Tipos] Nombre: "completo"; Descripción: "Instalación completa" Nombre: "compact"; Descripción: "Instalación compacta" Nombre: "personalizado"; Descripción: "Instalación personalizada"; Banderas: es personalizado

– una sección opcional que define los componentes que se mostrarán en la página para seleccionar componentes para la instalación. Ejemplo:

[Componentes] Nombre: "principal"; Descripción: "Archivos principales"; Tipos: personalizado compacto completo; Banderas: fijas Nombre: "ayuda"; Descripción: "Archivos de ayuda"; Tipos: Nombre completo: "ayuda\inglés"; Descripción: "inglés"; Tipos: Nombre completo: "help\dutch"; Descripción: "holandés"; Tipos: completo

– una sección opcional para crear tareas adicionales que se realizarán durante la instalación. El usuario verá las tareas en forma de interruptores y podrá elegir si realizar una u otra tarea o no. Ejemplo:

[Tareas] Nombre: icono de escritorio; Descripción: "Crear un icono de escritorio"; GroupDescription: "Iconos adicionales:"; Componentes: nombre principal: desktopicon\common; Descripción: "Para todos los usuarios"; GroupDescription: "Iconos adicionales:"; Componentes: principal; Banderas: nombre exclusivo: desktopicon\usuario; Descripción: "Sólo para el usuario actual"; GroupDescription: "Iconos adicionales:"; Componentes: principal; Banderas: nombre exclusivo sin marcar: quicklaunchicon; Descripción: "Crear un icono de inicio rápido"; GroupDescription: "Iconos adicionales:"; Componentes: principal; Banderas: sin marcar Nombre: asociado; Descripción: "&Archivos asociados"; GroupDescription: "Otras tareas:"; Banderas: sin marcar

– esta sección opcional determina qué carpetas adicionales, además de la carpeta de la aplicación, deben crearse.

[Dirs] Nombre: "(aplicación)\datos" Nombre: "(aplicación)\bin"

– una sección opcional que determina qué archivos se instalarán en la computadora.

[Archivos] Fuente: "CTL3DV2.DLL"; DirDestino: "(sys)"; Banderas: onlyifdoesntexist uninsneveruninstall Fuente: "MYPROG.EXE"; DestDir: "(aplicación)" Fuente: "MYPROG.CHM"; DestDir: "(aplicación)" Fuente: "README.TXT"; DirDestino: "(aplicación)"; Banderas: isreadme

– una sección opcional que determina qué accesos directos se crearán en el menú Inicio, en el escritorio, etc.

[Iconos] Nombre: "(grupo)\Mi programa"; Nombre de archivo: "(aplicación)\MYPROG.EXE"; WorkingDir: "(aplicación)" Nombre: "(grupo)\Desinstalar mi programa"; Nombre de archivo: "(uninstallexe)"

– una sección opcional que determina qué entradas se agregarán al archivo INI.

[INI] Nombre de archivo: "MiProg.ini"; Sección: "Configuración de instalación"; Banderas: uninsdeletesection Nombre de archivo: "MyProg.ini"; Sección: "Configuración de instalación"; Clave: "Ruta de instalación"; Cadena: "(aplicación)"

y - estas secciones opcionales determinan qué archivos o carpetas deben eliminarse, respectivamente, durante la primera instalación o desinstalación. Ejemplo:

[DesinstalarEliminar] Tipo: archivos; Nombre: "(ganar)\MYPROG.INI"

– la sección define los idiomas que estarán disponibles durante la instalación. Cuando ejecute el instalador, se seleccionará un idioma que coincida con el idioma del sistema. En caso contrario, se utilizará por defecto el idioma ubicado primero en la sección. Ejemplo:

[Idiomas] Nombre: "es"; Archivo de mensajes: "compilador:Default.isl" Nombre: "nl"; Archivo de mensajes: "compilador:Idiomas\Dutch.isl"

– sección para reemplazar mensajes descritos en archivos de idioma .isl. Un ejemplo de cómo reemplazar el texto estándar “&Siguiente >” en un botón para ir al siguiente paso solo en inglés:

[ Mensajes ] es.ButtonNext =&Adelante >

– sección para definir los valores de la constante (cm:...), ver la descripción de las constantes arriba. Ejemplo de uso:

[ CustomMessages] CreateDesktopIcon=Crear un icono de escritorio [ Tareas ] Nombre : desktopicon; Descripción: "(cm:CreateDesktopIcon)"

– La sección contiene configuraciones de idioma, como la fuente. Ejemplo:

[ LangOptions ] LanguageName=English LanguageID=$0409 LanguageCodePage=0 DialogFontName= DialogFontSize=8 WelcomeFontName=Verdana WelcomeFontSize=12 TitleFontName=Arial TitleFontSize=29 CopyrightFontName=Arial CopyrightFontSize=8 RightToLeft=no

– Esta sección opcional determina qué claves y valores deben crearse, modificarse o eliminarse en el registro. Ejemplos de uso:

[Registro] Raíz: HKCU; Subclave: "Software\Mi empresa"; Banderas: uninsdeletekeyifempty Raíz: HKCU; Subclave: ; Banderas: uninsdeletekey Raíz: HKLM; Subclave: "Software\Mi empresa"; Banderas: uninsdeletekeyifempty Raíz: HKLM; Subclave: "Software\Mi Empresa\Mi Programa"; Banderas: uninsdeletekey Raíz: HKLM; Subclave: "Software\Mi empresa\Mi programa\Configuración"; Tipo de valor: cadena; NombreValor: "RutaDeInstalación"; ValueData: "(aplicación)"

– esta sección opcional determina qué programas deben ejecutarse después de una instalación exitosa, pero antes de que aparezca el paso final en la ventana del asistente de instalación. Ejemplos:

[Ejecutar] Nombre de archivo: "(aplicación)\INIT.EXE"; Parámetros: "/x" Nombre de archivo: "(aplicación)\README.TXT"; Descripción: "Ver el archivo README"; Banderas: postinstall shellexec skipifsilent Nombre de archivo: "(aplicación)\MYPROG.EXE"; Descripción: "Iniciar aplicación"; Banderas: postinstall nowait skipifsilent sin marcar

– esta sección opcional determina qué programas deben ejecutarse al comienzo de la desinstalación.

– en esta sección opcional puedes colocar tu script Pascal. El motor RemObjects Pascal Script se utiliza para procesar el script Pascal. Este motor es tan gratuito como Inno Setup. Página oficial del motor RemObjects Pascal Script - . Se pueden encontrar ejemplos de uso en los archivos "Code*.iss" y "UninstallCode*.iss" en la carpeta "Ejemplos" en la ubicación de instalación de Inno Setup.

Procedimiento de instalación y desinstalación.

Un punto muy importante durante la instalación es comprender el orden en que se ejecuta el script. Los pasos del instalador se enumeran a continuación en el orden en que se realizarán durante la instalación:

      • Ejecución de tramos.
      • Los elementos de la sección se guardan en el registro de desinstalación (que, en esta etapa, se almacena en la memoria).
      • Si es necesario, se crea un directorio de aplicaciones.
      • Las secciones están funcionando.
      • El nombre del archivo de registro de desinstalación está reservado, si es necesario.
      • La sección se está ejecutando (los archivos aún no se están registrando).
      • La sección está en marcha.
      • La sección está en marcha.
      • La sección está en marcha.
      • Los archivos que deben registrarse se registran a menos que sea necesario reiniciar el sistema. En los casos en los que es necesario reiniciar, el registro se produce sólo después de reiniciar el sistema.
      • Agregue a la lista de programas instalados (Panel de control\Programas\Programas y características), si es necesario.
      • Los elementos de la sección se guardan en el registro de desinstalación.
      • El archivo EXE y el registro del desinstalador se guardan en el disco. Después de este punto, el usuario tiene prohibido cancelar la instalación y cualquier error posterior no provocará la reversión de la instalación.
      • Ejecutar sección, excepto los elementos de sección con el indicador "postinstall" configurado, que se ejecutará después de que se muestre el último paso del asistente de instalación.
      • Actualice las asociaciones de archivos si el indicador "ChangesAssociations" está configurado en "sí".
      • Notifica a las aplicaciones en ejecución que las variables de entorno han cambiado si el indicador ChangesEnvironment está establecido en sí.
      • En cuanto a los elementos de sección, se ejecutarán en el orden en que se encuentren dentro de la sección.

La desinstalación se produce en orden inverso. Pero esto no se aplica a las secciones y, que se ejecutarán en el orden en que aparecen en el script (no en orden inverso).

Configuración Inno del preprocesador

Me gustaría escribir unas palabras sobre el preprocesador Inno Setup (ISPP).

El objetivo principal de un preprocesador es automatizar tareas durante la compilación y reducir la probabilidad de errores tipográficos en los scripts. Por ejemplo, puede declarar una variable ISPP (variable en tiempo de compilación) que contenga el nombre de su aplicación y luego usar el valor de esa variable en varios lugares de su secuencia de comandos. Si luego necesita cambiar el nombre de su aplicación por algún motivo, puede hacerlo en un lugar de su secuencia de comandos. Sin ISPP, tendrá que buscar y corregir todas las partes del script donde usa el nombre de la aplicación, como AppName, AppVerName, DefaultGroupName, etc.

Además, dividir el script en partes permite crear un único script para diferentes versiones de su aplicación (por ejemplo, versiones de prueba y con todas las funciones).

Cuando se utiliza un preprocesador, es importante recordar que el preprocesador sólo funciona en tiempo de compilación.

Llamar al compilador Inno Setup desde la línea de comando

También sería útil conocer la posibilidad de compilar la distribución desde la línea de comando. La llamada de compilación se ve así:

compilar32/cc

He aquí un ejemplo:

compila32 /cc "c:\isetup\samples\mi script.iss"

En este caso, llamar a la compilación desde la línea de comando no oculta la visualización del progreso o los mensajes de error. El compilador devuelve 0 si la compilación fue exitosa, 1 si los parámetros de la línea de comando se pasaron incorrectamente o 2 si la compilación falló.

Un método de compilación alternativo es utilizar el compilador de consola ISCC.exe. Aquí hay un diagrama de cómo usar el compilador:

iscc [opciones]

He aquí un ejemplo:

iscc "c:\isetup\samples\mi script.iss"

Estas son las principales opciones:

/DO: deshabilita la creación de distribución (cambia todos los parámetros de salida en el script).
/EO: habilita la creación de distribución (cambia todos los parámetros de salida en el script).
/O: establece la ruta donde se creará la distribución (cambia todos los parámetros OutputDir en el script).
/F: establece el nombre del archivo de distribución (cambia todos los parámetros OutputBaseFilename en el script).
/S: configuración del parámetro SignTool.
/Q[p] – para compilación oculta (solo se muestran mensajes de error, “p” muestra el progreso).
/?

– para mostrar ayuda.

Aquí hay un ejemplo usando opciones:

iscc /Qp /O"Mi salida" /F"MiPrograma-1.0 " /Sbyparam=$p "c:\isetup\samples\my script.iss"

ISCC devuelve 0 si la compilación fue exitosa, 1 si los parámetros fueron incorrectos o ocurrió un error interno, o 2 si la compilación falló.

En conclusión sobre Inno Setup




Arriba