Académique Documents
Professionnel Documents
Culture Documents
Introduccin
Descargar Inno Setup
Descargar IsTool
Prerequisitos
Asociar extensiones *.iss a IsTool
Conocer loas archivos runtime de VFP9
Crear un proyecto
El script (*.iss)
Descargar ejemplo
Script de ejemplo
Runtime VFP8
Runtime VFP7
INTRODUCCIN
Como programadores siempre al terminar un desarrollo no enrentamos a la tarea de crear un instalador para
nuestra aplicacin, esta tarea en ocasiones puede convertirse en un verdadero desastre, debido a que no
tenemos una herramienta confiable o no sabemos utilizarla, pues con esta sencilla gua veremos como crear
un instalador utilizando Inno Setup.
Inno Setup es un potente generador de instaladores para Windows(c) gratuito, capas de realizar diversas
tareas con igual o mejor resultados que una aplicacin comercial . Disponible en distintos idiomas (Segn
release). A la fecha de este manual se encuentra en la versin 5.1.9, con libreras opcionales como ISCrypt.dll
que permite encriptar el contenido del instalador. Para descargar Inno Seput pulse el siguiente link:
DESCARGAR INNO SETUP
Inno Setup emplea una interface grafica en la que el principal elemento es el Script en el cual parametrizamos
el instalador y hasta programados algunas funciones o tareas para este. Inno setup cuenta con una serie de
aplicaciones que sirven como complemeto y estan desarrolladas para ampliar su alcance, este es el caso de
ISTool, esta es una aplicacin creada para sustituir el entorno grfico estandar de inno setup. Esta aplicacin
solo permite crear los scripts de una forma mas agradable y grafica utilizando inno setup para compilar los
proyectos. Actualmente ISTool se encuentra en la versin 5.1.8. Esta herramienta entre sus complementos
incluye una librera la cual permite que al momento de realizar una instalacin, nuestro programa descargue
de internet uno o varios archivos, esta caracterstica puede ser muy til para cuando lanzamos
actualizaciones, pues nuestros clientes solo tendran que ejecutar el instalador y este actualizara
automticamente la aplicacin
DESCARGAR ISTOOL
Tenga en cuenta que Inno Setup es el compilador y que IsTool solo es el motor grafico complementario, IsTool
necesita de Inno Setup obligatoriamente. IsTool solo facilita la creacin del script mediante un entorno grafico
amigable.
Prerrequisitos
1. Tener instalado Inno Setup
2. Tener instalado ISTool
3. Asociar las extensin *.iss a IsTool (Ver siguiente tem)
4. Conocer los archivos de runtime de VFP
Registrar
(Orden)
Ubicacin
msvcr71.dll
No (1)
App Folder
gdiplus.dll
No (1)
Microsoft
Shared\VFP
--"--
vfp9r.dll
Yes (3)
--"--
--"--
DLL
Otra Ubicacin
vfp9t.dll
Yes (3)
--"---"-The runtimes for the language(s) you support:
The same as
vfp9renu.dll
No
The same as vfp9r.dll
vfp9r.dll
vfp9resn.dll
--"---"---"-vfp9rdeu.dll
--"---"---"-vfp9rfra.dll
--"---"---"-vfp9rrus.dll
--"---"---"-vfp9rcsy.dll
--"---"---"-vfp9rkor.dll
--"---"---"-vfp9rchs.dll
--"---"---"-vfp9rcht.dll
--"---"---"-To provide compressed HTML help (CHM) within your apps:
Microsoft
foxhhelp9.exe
Yes
Win Sys Dir
Shared\VFP
foxhhelpps9.dll
No
--"---"-XMLTOCURSOR() function requires MSXML 3 :
msxml3.dll
Yes
Win Sys Dir
Win Sys Dir
msxml3r.dll
No
--"--
--"--
msxml3a.dll
--"---"---"-XMLAdapter class and HTML/XML Report output requires MSXML 4 :
msxml4.dll
Yes
Win Sys Dir
Win Sys Dir
msxml4r.dll
Object-assisted Reporting :
REPORTBUILDER.APP No
REPORTPREVIEW.APP --"-REPORTOUTPUT.APP --"--
No
--"-App Folder
--"---"--
Observacin
--"-App Folder
--"---"--
GDI+ support
STDLL and EXE
support
MTDLL support
English
Spanish
German
French
Russian
Czech
Korean
Chinese (PRC)
Chinese (Taiwan)
foxhhelp9.exe
/regserver
Required by
msxml3.dll
--"--
Required by
msxml4.dll
Report Writer
Report Preview
Report Output
Los Active X pueden ser copiados en las carpetas "Microsoft Shared\VFP, Win Sys Dir" y ser registrados
Ver Runtime VFP 7
Ver Runtime VFP 8
Crear un proyecto
Para crear un proyecto podemos presionar el botn "New" de la barra de herramientas o entrar en el men
"File -> New", inmediatamente despues se abre el asistente en dode se nos da la bienvenida, para continuar
presionamos el botn "Next"
En esta ventana incluimos la informacin correspondiente a nuestra aplicacin, es muy importante ser claros y
precisos con ella, ya que si queremos una aplicacin con un instalador "Profesional" debemos ser honestos,
serios y objetivos. El primer campo es el nombre de la aplicacin, el segundo es el nombre y la versin, el
tercer campo es el nombre de la empresa desarrolladora o de la persona, y el cuarto y ultimo es la direccin
web en donde pueden encontrar informacin de la aplicacin Una vez llenemos los datos pulsamos el botn
"Next".
..."En lo personal me gusta trabajar con la carpeta 'Archivos de programa' pero cada quien mata sus pulgas a
su modo."...
Nombre de la carpeta de la aplicacin (Application folder name)
Este es el nombre de la carpeta, para nuestro ejemplo la carpeta se llamara "Ejemplo", esto significa que si
instalamos en la carpeta archivos de programa la ruta seria similar a "C:\Archivos de programa\Ejemplo" y en
esta se copiaran todos los archivos, y si se tratara de la ruta personalizada serial "C:\MiCarpeta\Ejemplo"
El usuario puede cambiar la carpeta base de la aplicacin. (Allow user change the aplication folder)
Si seleccionas esta opcin el usuario podr seleccionar la carpeta donde desee copia la aplicacin
La aplicacin no necesita carpeta.
Esta opcin le indica al compilado que el instalador no creara carpeta para la aplicacin.
Ejecutable de la aplicacin
Con el botn "Browse" buscamos el ejecutable de nuestra aplicacin
Luego agregamos cada uno de los archivos o carpetas contenedoras de archivos necesarios para nuestra
aplicacin
En esta ventana podemos especificar el nombre de la carpeta que se creara en el men "INICIO", tambin
podemos especificar si se crean acceso directos a la pagina de internet especificada al inicio o al
desinstalador, tambin podemos especificar si el usuario deside si crear o no esta carpeta.
En esta ventana especificamos el archivo que contiene la licencia de la aplicacin, y los archivos que se
mostraran antes de la instalacin o despues.
El idioma es algo fundamental, pues en muchas ocasiones a un que un instalador pude hacer todo, el usuario
normal no comprede algunas tareas y se pierde, as que es mejor compilar un instalador en la lengua en que
se manejara la aplicacin. Esto tambin le mejora el aspecto a nuestra aplicacin luciendo mas profesional.
En esta ventana establecemos donde se guardara el instalador, que nombre se le dara, el icono con el cual se
creara el ejecutable y la contrasea del instalador si queremos. Despues de esta ventana finalizamos el
asistente y se abra creado un script el cual contiene las opciones bsicas para nuestro instalador, as que
tenemos que completar este script.
El script (*.iss)
El script es un archivo que contiene la secuencia de comandos basada en Pascal necesarias para que Inno
Setup cree un instalador valido para Windows, el script del ejemplo anterior corresponde al instalador de
NetSend pero antes de analizarlo debemos saber:
Comando
Definicin
[XXX]
Etiqueta de contenido
{app}
{sys}
{cf}
#MyAppExeName
drive:{src}
SCRIPT DE EJEMPLO
; Archivos
; Son las rutas de los archivos, notece que el origen se trabaja con ruta relativo, esto debido a que en la
seccion [SETUP]
; se establece la propiedad SourceDir=D:\jgoh\netsend lo que indica que todos los archivos de origen se
encuentran en esta
; carpeta.
; El origen se inicia con la etiqueta "Source", seguida por el nombre, la carpeta de destino. Los flags son
parametros adicionales
; que indican una caracterstica especial.
[Files]
Source: red.exe; DestDir: {app}; Flags: ignoreversion; Components: aplicacin
Source: dat\*; DestDir: {app}\dat; Flags: ignoreversion recursesubdirs createallsubdirs; Components:
aplicacin
Source: wav\*; DestDir: {app}\wav; Flags: ignoreversion recursesubdirs createallsubdirs; Components:
aplicacin
; Para esta aplicacin los iconos no se extraen de un ejecutable si no que se usan como objeto .Ico
;Iconos
Source: ico\email.ico; DestDir: {app}\ico; Flags: ignoreversion recursesubdirs createallsubdirs; Components:
aplicacin
Source: ico\attached.ico; DestDir: {app}\ico; Flags: ignoreversion recursesubdirs createallsubdirs;
Components: aplicacin
Source: ico\help.ico; DestDir: {app}\ico; Flags: ignoreversion recursesubdirs createallsubdirs; Components:
aplicacin
; Una caracterstica que incluye esta aplicacin es un icono en la bandeja del sistema, este icono maneja un
men el cual no se ejecuta si no
; existe el archivo mnx, as que este es copiado del origen a una carpeta en el destino.
; Men systray
Source: mnx\systray.*; DestDir: {app}\mnx; Components: aplicacin
; Archivos de ayuda
; Esta aplicacin maneja archivos de ayuda tipo window (*.hlp), tambin abrian podido se tipo (*.chm), pero
para este caso son
; son necesarios los archivos .hlp, gid y cnt, los dos ultimos son opcionales, ya que si no existen el gestor de
ayuda los crea
Source: hlp\netsend2007.hlp; DestDir: {app}\hlp; Components: aplicacin runtime
Source: hlp\netsend2007.GID; DestDir: {app}\hlp; Components: aplicacin runtime
Source: hlp\netsend2007.cnt; DestDir: {app}\hlp; Components: aplicacin runtime
; libreras adicionales
; Esta aplicacin utiliza dos libreras ( aunzip32.dll y azip32.dll) para crear archivos zip
; Esta libreras deben ser copiadas en C:\Windows\System32 solo si no existen y son componentes del
; tipo de instalacin runtime
Source: runtime\aunzip32.dll; DestDir: {sys}; Flags: onlyifdoesntexist; Components: runtime
Source: runtime\azip32.dll; DestDir: {sys}; Flags: onlyifdoesntexist; Components: runtime
Source: runtime\msvcr70.dll; DestDir: {sys}; Flags: onlyifdoesntexist uninsneveruninstall; Components: runtime
Source: runtime\msvcr71.dll; DestDir: {sys}; Flags: onlyifdoesntexist uninsneveruninstall; Components: runtime
; Libreras de Visual FoxPro Sp1
; En system32
Source: runtime\vfp9r.dll; DestDir: {sys}; Flags: onlyifdoesntexist uninsneveruninstall; Components: runtime
Source: runtime\vfp9resn.dll; DestDir: {sys}; Flags: onlyifdoesntexist uninsneveruninstall; Components:
runtime
Source: runtime\vfp9t.dll; DestDir: {sys}; Flags: onlyifdoesntexist uninsneveruninstall; Components: runtime
; En Microsoft Shared
Source: runtime\vfp9t.dll; DestDir: {cf}\Microsoft Shared\VFP; Flags: onlyifdoesntexist uninsneveruninstall;
Components: runtime
[Components]
Name: runtime; Description: runtime; Types: Runtime Completa
Name: aplicacin; Description: aplicacin; Types: Completa
Descargar ejemplo
Ya conocemos el script, pero tranquilo no es necesario que conosca cada una de estas instrucciones, gracias
a Bjrnar Henden existe IsTool, la cual permite cambiar, agregar y hacer lo que quieras desde una amigable
interface grfica libre de instrucciones tediosas, lgicamente puedes estar en la capacidad de manejarlo con
instrucciones, pero para que gastar tiempo si tienes una herramienta a tu disposicin.
Coparemos
[Setup]
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
DefaultDirName={pf}\
{#MyAppName}
DefaultGroupName={#MyAppNam
e}
SourceDir=D:\jgoh\netsend
OutputDir=Instalador
OutputBaseFilename=Instalador
NetSend
SetupIconFile=ico\email.ico
Compression=lzma
SolidCompression=true
VersionInfoVersion=1.0
VersionInfoCompany=Jos
Guillermo Ortiz Hernndez
VersionInfoTextVersion=NetSend
2007 2.0.0 Plus
OutputManifestFile=manifiesto.txt
VersionInfoCopyright=Jos
Guillermo Ortiz Hernndez
InternalCompressLevel=ultra
MinVersion=4.90.3000,5.01.2600
AppCopyright=Jos Guillermo
Ortiz Hernndez
PrivilegesRequired=admin
UserInfoPage=true
DirExistsWarning=no
ShowLanguageDialog=yes
Inno Setup e IsTool no son herramientas difciles de usar que puden complementar tu labor de programacin
facilitando tu vida.
RUNTIME VFP8
DLL
msvcr70.dll
Registrar
(Orden)
Ubicacin
gdiplus.dll
No (1)
Common Files\Microsoft
Shared\VFP
vfp8r.dll
Yes (3)
--"--
vfp8t.dll
Yes (3)
--"-The runtimes for the language(s) you support:
vfp8renu.dll
No
vfp8resn.dll
vfp8rdeu.dll
vfp8rfra.dll
vfp8rrus.dll
vfp8rcsy.dll
vfp8rkor.dll
vfp8rchs.dll
--"---"---"---"---"---"---"--
Otra Ubicacin
--"--
Observacin
VC++ 7.0 Runtime
library
GDI+ support
English
Spanish
German
French
Russian
Czech
Korean
Chinese (PRC)
vfp8rcht.dll
--"---"-To provide compressed HTML help (CHM) within your apps:
foxhhelp8.exe
Yes
Microsoft Shared\VFP
foxhhelpps8.dll
No
--"-XMLTOCURSOR() function requires MSXML 3 :
msxml3.dll
Yes
Win Sys Dir
msxml3r.dll
No
--"--
msxml3a.dll
--"---"-XMLAdapter class requires MSXML 4 :
msxml4.dll
Yes
Win Sys Dir
msxml4r.dll
No
--"--
Chinese (Taiwan)
foxhhelp8.exe
/regserver
Required by
msxml3.dll
--"--
Required by
msxml4.dll
RUNTIME VFP7
DLL
msvcr70.dll
Registrar
(Orden)
No (1)
Ubicacin
Common Files\Microsoft
Shared\VFP
vfp7t.dll
Yes (3)
--"-The runtimes for the language(s) you support:
vfp7r.dll
vfp7renu.dll
Yes (3)
No
vfp7resn.dll
--"---"-vfp7rdeu.dll
--"---"-vfp7rfra.dll
--"---"-vfp7rrus.dll
--"---"-vfp7rcsy.dll
--"---"-vfp7rkor.dll
--"---"-vfp7rchs.dll
--"---"-vfp7rcht.dll
--"---"-To provide compressed HTML help (CHM) within your apps:
foxhhelp7.exe
Yes
Microsoft Shared\VFP
foxhhelpps7.dll
No
--"-XMLTOCURSOR() function requires MSXML 3 :
msxml3.dll
Yes
Win Sys Dir
Otra Ubicacin
Win Sys Dir, App
Folder
App Folder, Win Sys
Dir
--"-The same as
vfp7r.dll
--"---"---"---"---"---"---"---"-Win Sys Dir
Observacin
VC++ 7.0 Runtime
library
STDLL and EXE
support
MTDLL support
English
Spanish
German
French
Russian
Czech
Korean
Chinese (PRC)
Chinese (Taiwan)
foxhhelp7.exe
/regserver
msxml3r.dll
No
--"--
--"--
msxml3a.dll
--"--
--"--
--"--
Required by
msxml3.dll
--"--