Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |not checked

Utilizando Inno Setup

Inno Setup es un herramienta que nos permite crear instaladores para nuestros programas, es una herramienta muy utilizada por programadores.

Lamentablemente el utilizar esta herramienta puede dar falsos positivos para virus o malwares esto debido que también es utilizada por personas con malas intenciones.

Para evitar esto puedes

  • avisar del falso positivo a la empresa del antivirus
  • utilizar algún tipo de Code Signing Certificates (Esto puede llegar a ser caro para un individuo), esto hará que la advertencia sea mas amigable.

Tomando esta cuestión de lado continuemos en como utilizar Inno Setup.

Instalación

La instalación de Inno Setup es realmente sencilla solo debes de ir a la pagina de esta herramienta https://jrsoftware.org/isdl.php baja la herramienta y en caso de que necesites el modulo de encriptado bajalo también. Estos modulos también pueden ser bajados por el instalador.

Recomendación: has que el instalador lo haga por ti

Una vez instalado puedes correr el .exe o extensión que este tenga, sigue los pasos que tenga el instalador.

Entorno

Una vez abramos por primera vez Inno Setup veremos algo como lo que esta en la siguiente imagen:

Una especie de Ide o editor de texto y una pantalla de bienvenida.

En esta debemos especificar si queremos realizar un nuevo script para Inno en blanco, utilizar la herramienta wizzard para crear uno o por el contrario abrir uno ya creado.

IDE

Primero que nada tenemos nuestra toolbar(File,edit,view,build, run,tool,help)

Segundo tenemos otra barra de botones esta la podemos dividir en 5 partes

  • manejo de archivos (new main script, open main script, save)
  • compilacion(run compiler, stop compiler)
  • run(play, pause, terminate)
  • target(setup, uninstall)
  • y help

Creando un archivo .iss

Este archivo es el que tendrá todas las reglas que debe cumplir nuestro instalador. Este lo podemos crear utilizando el wizzard del inicio, creándolo desde 0, o también podemos crear uno utilizando algunos de los ejemplos con los que viene Inno Setup.

Para ver los ejemplos puedes ir a Help->Inno Setup Examples Scripts.

Veamos el Ejemplo 1

; -- Example1.iss --
; Demonstrates copying 3 files and creating an icon.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!

[Setup]
AppName=My Program
AppVersion=1.5
WizardStyle=modern
DefaultDirName={autopf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma2
SolidCompression=yes
OutputDir=userdocs:Inno Setup Examples Output

[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme

[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"

Este es uno de los script mas simples que puede encontrar, vea Source y DestDir. Al poner MyProgram.exe como source este vera la carpeta donde esta nuestro .iss y lo agregara a nuestro instalador.

Por lo que es conveniente que nuestro archivo .iss este en la carpeta donde estaran los archivos que formaran parte de nuestro instalador como pueden ser sonido, imágenes, .exe licencia, readme y otros.

Si miramos bien el código nos podemos dar cuenta de que las lineas despues de [Setup] son las características de el archivo de instalación que crearemos donde esta el nombre,versión, compresión etc.

Luego de [Files] tenemos, los lugares donde están nuestros archivos y finalmente [Icons] el cual si no tiene experiencia con el creador de Instaladores le recomindo pongas el nombre de tu archivo y nada mas por ejemplo en uno de los programas disponibles para descargar uso el siguiente:

Name: "{group}\WebpConverter"; Filename: "{app}\WebpConverter.exe"; WorkingDir: "{app}"
Name: "{group}\Uninstall WebpConverter"; Filename: "{uninstallexe}"

Por Ultimo deberás compilar el archivo .iss para generar el setup

Category: otros
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category