Blog de programación, errores, soluciones

Chose Language:
comments
Author: Admin/Publisher |not checked

Utilizando Inno Setup

Inno Setup es una 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 a 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 más 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 página de esta herramienta https://jrsoftware.org/isdl.php baja la herramienta y en caso de que necesites el módulo de encriptado bajalo también. Estos módulos 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 está 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 más simples que puede encontrar, vea Source y DestDir. Al poner MyProgram.exe como source este verá la carpeta donde está nuestro .iss y lo agregará a nuestro instalador.

Por lo que es conveniente que nuestro archivo .iss este en la carpeta donde estarán 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 líneas después de [Setup] son las características del archivo de instalación que crearemos donde está 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 recomiendo que ponga el nombre de tu archivo y nada más 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 Último 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

Comments