Gracias Xpiderman por tu comentario positivo y alentador, definitivamente el INNO tiene un sin fin de opciones, podemos manipular el registro del windows a nuestro antojo de manera interactiva, ademas que tambien podemos modificar los INI y crear los nuestros propios, sin mencionar que tiene soporte para programacion en Visual y Pascal.
Por cierto ya averigue como mostrar mensajes durante nuestra instalacion (muy diferente a mostrar ventanas de mensajes)... solo tenemos que definir el parametro:
StatusMsg: en donde queramos ver el mensaje:
[Run]
[Components]
[UninstallRun]
.
.
.
Etc
Por ejemplo:
Código:
[Run]
Filename: "{app}\wrar362es.exe"; Description: "{cm:LaunchProgram,wrar362es}"; StatusMsg: "Instalando WinRar 3.62 (Español)."; Flags: skipifdoesntexist
Nos muestra el mensaje
"Instalando WinRar 3.62".
A modo de comentar a muy grandes rasgos, les dejo la estructura del archivo a compilar para hacer el instalador:
Código:
[Setup]
En esta seccion se definen las cosas basicas de la instalacion de la aplicacion. Dentro de ella se encuentran las siguientes secciones :
AppName=Nombre de la aplicacion
AppVerName=Version de la aplicacion
AppPublisher=Autor de la aplicacion
AppPublisherURL=Direccion web de la aplicacion
AppSupportURL=Direccion web con el url de soporte de la aplicacion
AppUpdatesURL=Direccion web con el url de actualizaciones de la aplicacion
DefaultDirName=Directorio donde se instalara la aplicacion
DefaultGroupName=Grupo/Carpeta donde seran instalados los iconos de la aplicacion en windows
AllowNoIcons=Indica si se crean iconos de las aplicaciones una ves instaladas
LicenseFile=Archivo de licencia a mostrar
InfoBeforeFile=Archivo con la informacion inicial a mostrar antes de comenzar la instalacion
InfoAfterFile=Archivo con la informcion final despues de haberse completado la instalacion
OutputDir=Directorio donde quedara el archivo setup compilado
OutputBaseFilename=Nombre del archivo de instalacion
Compression=Metodo de compresion a usar durante el momento de creacion del archivo de instalacion
SolidCompression=Indica el nivel de compresion al momento de crear el archivo de instalacion
[Tasks]
Indica las tareas a realizar durante el proceso de instalacion.
[Files]
Indica los archivos que deberan ser compilados y donde seran instalados.
[INI]
En esta seccion se indica si se desea ingresar alguna informacion al registro una vez finalizado el setup.
[Icons]
Define los accesos directos que se crearan durante la instalacion.
[Run]
Define todos los programas que se ejecutaran al momento de finalizar la instalacion.
[UninstallDelete]
Define todos los archivos que se deberan borrar cuando la aplicacion sea removida desde el pc.
Para que el script funcione debe estar sintacticamente correcto. Luego se procede a la compilacion y testeo de nuestro instalador.
Y un pequeño ejemplo de
SymphonyX (Un(a) colaborador(a) de un foro Amigo):
Código:
[Setup]
AppName=Mi Aplicacion
AppVerName=Mi Aplicacion Version 1.0.0.170
AppPublisher=Mi Compañia
AppPublisherURL=http://www.misitioweb.com
AppSupportURL=http://www.misitioweb.com
AppUpdatesURL=http://www.misitioweb.com
DefaultDirName={pf}\miapp
DefaultGroupName=Mi Compañia
AllowNoIcons=yes
LicenseFile=c:\proyectos\v1\instalador\licencia.txt
InfoBeforeFile=c:\proyectos\v1\instalador\leame.txt
InfoAfterFile=c:\proyectos\v1\instalador\historia.txt
OutputDir=c:\proyectos\v1\instalador\output
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
;Aqui instalo los archivos de mi aplicacion
;{app} = Directorio destino de la instalacion
;{sys} = Directorio system de windows
;tambien podria usarse asi : {app}\ayuda
[Files]
Source: "c:\proyectos\v1\instalador\miapp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "c:\proyectos\v1\instalador\miapp.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "c:\proyectos\v1\instalador\miapp.ocx"; DestDir: "{sys}"; Flags: regserver sharedfile ignoreversion
Source: "c:\proyectos\v1\instalador\miapp.dll"; DestDir: "{sys}"; Flags: regserver sharedfile uninsneveruninstall
Source: "c:\proyectos\v1\instalador\miapp.hlp"; DestDir: "{app}"; Flags: ignoreversion
[INI]
Filename: "{app}\miapp.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.misitioweb.com/"
[Icons]
Name: "{group}\Mi Aplicacion"; Filename: "{app}\miapp.exe"
Name: "{group}\{cm:ProgramOnTheWeb,Mi Aplicacion}"; Filename: "{app}\miapp.url"
Name: "{group}\{cm:UninstallProgram,Mi Aplicacion}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\miapp"; Filename: "{app}\miapp.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\miapp"; Filename: "{app}\miapp.exe"; Tasks: quicklaunchicon
;Una ves finalizado el setup preguntar si se desea ejecutar mi aplicacion
[Run]
Filename: "{app}\miapp.exe"; Description: "{cm:LaunchProgram,miapp}"; Flags: nowait postinstall skipifsilent
;Archivos a eliminar al momento de remover mi aplicacion
[UninstallDelete]
Type: files; Name: "{app}\miapp.url"
Como veran, para implementar su instalador, solo tienen que reemplazar las direcciones y nombres de archivos de manera intuitiva que esta muy facil. Revisando la documentacion, veran que pueden colocar imagenes, colores y estilos personalizados a todo el entorno del instalador, este que esta aqui es el mas sencillo y simple que se podria hacer, pero muy efectivo.