Tutorial Inno Setup

Transcript

Tutorial Inno Setup
Tutorial all’uso di
INNO SETUP
Installer di Jordan Russell
Enzo Iorio 2006
www.vbscuola.it
Tutorial su INNO SETUP – www.vbscuola.it
Generalità di Inno Setup
Inno Setup, giunto alla versione 5, è un installer per le proprie applicazioni completamente
freeware.
Usato da molteplici programmatori per distribuire pacchetti di installazione delle loro
applicazioni, è scaricabile dal sito del suo ideatore Jordan Russell all'indirizzo www.jrsoftware.org
Inno Setup è, attraverso un file di script, completamente programmabile in un linguaggio simile
al Turbo Pascal per Ms Dos (evolutosi poi nel Delphi per Windows).
Lo script di Inno Setup è un vero e proprio linguaggio di programmazione, con tanto di strutture
decisionali, strutture cicliche, funzioni o procedure e direttive per il compilatore del setup.
Ammette l’uso di variabili e funzioni tipiche di un linguaggio visuale come ad esempio il
message box, insomma è un linguaggio di programmazione, le funzioni sulla risoluzione dello
schermo, molto utili se si desidera bloccare l’installazione se la risoluzione video è inferiore a quella
voluta.
Questo tutorial non è un manuale di spiegazioni completo all'uso di Inno Setup, ma è solo una serie di
indicazioni per l'uso di Inno Setup per ottenere un setup di installazione per la propria applicazione, in
poco tempo.
Pagina 2 di 13
Tutorial su INNO SETUP – www.vbscuola.it
Installazione di Inno Setup
Una volta scaricato Inno Setup, è bene scaricare anche, attraverso il link sulle Inno Setup
Translations, il linguaggio italiano chiamato Italian.isl. tradotto da un programmatore italiano, che
come tanti in tutto il mondo hanno contribuito alla diffusione di Inno Setup, come programmi
addizionali di terze parti quali InnoScript, di cui si accennerà in seguito.
Il translators scaricato, non consente di ottenere i menù o i vari messaggi di funzionamento di Inno
Setup in italiano, ma serve per ottenere un setup di installazione della propria applicazione in italiano.
Una volta installato Inno Setup sul proprio computer, nella cartella Languages va inserito il file di
translator in italiano. Infatti nella cartella principale di Inno Setup è presente il file translator di default,
in lingua inglese, chiamato default.isl.
L’installer creato con Inno Setup ha un aspetto decisamente professionale, come mostrano le figure
seguenti, che riportano la schermata iniziale di una installazione:
Pagina 3 di 13
Tutorial su INNO SETUP – www.vbscuola.it
Le schermate della nostra Installazione
Quando si lancia il nostro setup creato con Inno Setup, vengono mostrate una serie notizie e opzioni
per l’installazione, in schermate sequenziali:
Al lancio del setup viene mostrata, in posizione verticale e a sinistra,
un'immagine, da noi scelta o costruita.
Alla destra dell’immagine viene indicato in caratteri grandi, il
messaggio di ‘benvenuto all’installazione’ seguito dal nome del
programma da installare, e poi in caratteri più piccoli di nuovo il
nome del programma comprensivo della versione e l’indicazione di
chiusura delle applicazioni eventualmente aperte.
La schermata successiva, contiene una piccola immagine nell'angolo in alto a destra, che sarà
mantenuta per tutta la durata dell’installazione.
Nella finestra scorrevole tramite la barra di scorrimento verticale,
vengono riportati i termini della licenza d'uso del programma che si
sta installando (questa schermata è facoltativa, non compare se non
si specifica la descrizione dei termini della licenza d’uso).
Se non si accettano i termini di licenza, cioè se non si esegue il click
sull'opzione 'accetto i termini di licenza', il pulsante di avanzamento
dell'installazione non viene attivato.
Accettati i termini della licenza, compare la richiesta della password
di accesso per poter proseguire con l'installazione.
Inserita la password si prosegue nella schermata successiva. Anche
questa schermata con l’uso della password è facoltativa.
Nella
finestra
scorrevole,
attraverso la barra di scorrimento, viene visualizzato un messaggio
dell'autore del programma prima che avvenga l'installazione
contenente notizie varie sul programma, o altro.
Anche questo messaggio (e relativa finestra) è facoltativo.
Pagina 4 di 13
Tutorial su INNO SETUP – www.vbscuola.it
A questo punto ha inizio la vera e propria procedura di installazione,
infatti viene indicata la cartella (o directory per gli amanti del Ms
Dos) dove installare il nostro programma, e lo spazio richiesto dalla
nostro programma, compreso di tutti i files di supporto che abbiamo
abbinato al nostro programma.
E’ data la possibilità di rinominare la cartella o il percorso
digitandolo direttamente nel campo, oppure è possibile selezionare
una nuova cartella, attraverso il tasto sfoglia.
Viene indicata la cartella del menù Start di Windows ove inserire
l’icona tramite la quale viene lanciato il nostro programma.
Oppure, attraverso il pulsante sfoglia, è possibile inserire tale icona
in un gruppo di programmi.
A questo punto si sceglie se si vuole inserire l’icona di lancio del
nostro programma sul desktop e/o posizionare la stessa icona
direttamente sulla barra delle applicazioni di Windows, inserendo un
segno di spunta sulle rispettive voci.
Proseguendo, vengono mostrate le informazioni relative ai percorsi
di installazione dei vari files e cartelle di supporto al nostro
programma
Nella
finestra
scorrevole,
attraverso la barra di scorrimento, viene visualizzato un ultimo
messaggio
dell'autore
del
programma, il messaggio dopo
l’installazione, con notizie varie a
posteriori
dell’installazione.
Anche questo messaggio e
relativa finestra è facoltativo.
Alla fine viene indicato il messaggio di completamento
dell’installazione del nostro programma con l’opzione di esecuzione
dello stesso all’uscita della procedura di installazione.
Pagina 5 di 13
Tutorial su INNO SETUP – www.vbscuola.it
Al termine dell’installazione, il nostro programma mantiene l’icona imposta per la sua creazione,
nell’esempio il programma chiamato Codice fiscale possiede l’icona della bandiera italiana.
Questo programma una volta installato, si presenterà come segue:
sulla barra delle applicazioni,
sul desktop.
nelle ramificazioni del menù Avvio/Start di
Windows.
Da notare la cartella finale, oltre a contenere
il programma (icona bandiera italiana),
presenta anche un link Web che carica il
Browser di navigazione in Internet,
collegandosi direttamente ad una pagina web
da noi impostata.
Inoltre presenta anche il programma di
disinstallazione del nostro programma.
Pagina 6 di 13
Tutorial su INNO SETUP – www.vbscuola.it
Creazione di un setup guidato (ScripWizard)
Inno Setup, consente di creare un pacchetto di installazione del proprio programma tramite la
creazione guidata del pacchetto stesso, e al termine della creazione, viene generato lo script di setup,
cioè viene descritto nel linguaggio di Inno Setup in che modo creare il pacchetto di installazione.
Caricato Inno Setup, viene
proposta la schermata, in cui
si può scegliere se eseguire il
pacchetto tramite la guida o
passare direttamente all’editor
dello script
Selezioniamo la scelta della guida
(Script Wizard), e saltiamo il
messaggio di benvenuto.
Pianifichiamo il lavoro per semplificare la creazione del
pacchetto di installazione (Setup)
- La struttura del programma
Supponiamo di voler creare un pacchetto di installazione del programma chiamato Codice Fiscale
la cui versione è la numero 1.8.
Supponiamo ancora che questo programma necessita di un file addizionale chiamato
Procedure.bas, che deve necessariamente risiedere nella stessa cartella in cui risiede il programma
Codice fiscale.
Inoltre Il nostro programma necessita ancora di una cartella, posta anch’essa nella cartella ove
risiede il programma codice fiscale, che contiene vari file dati, a supporto del programma stesso e
deve chiamarsi FilesVari.
- Tre messaggi di testo da visualizzare
Diamo un tocco di professionalità al nostro pacchetto, facendogli visualizzare i termini di licenza
del programma, una nota informativa prima di proseguire con l’installazione e una nota
informativa da visualizzare al termine dell’installazione stessa.
Quindi prepariamo 3 file di testo (formato ascii) scritti magari con il NotePad a corredo di
Windows, e li chiamiamo rispettivamente Licenza.Txt, MsgPrima.Txt e MsgDopo.Txt
Pagina 7 di 13
Tutorial su INNO SETUP – www.vbscuola.it
- Link al sito Web
Se abbiamo un sito WEB da pubblicizzare appuntiamo il suo indirizzo per poi inserirlo nel
pacchetto di installazione.
- La grafica
Inno Setup gestisce due files grafici di default, in formato BitMap (estensione BMP).
Il primo grafico, è quello più grande, rettangolare, che misura 164x314 a 256
colori (24 bit), chiamato WizModernImage.Bmp, mentre Il secondo file
grafico è più piccolo e quadrato chiamato WizModernSmallImage.Bmp che misura
55x55 a 256 colori (24 bit).
In alternativa, a corredo con Inno Setup sono forniti altri due file dalla
grafica più aggiornata: WizModernimage-is.Bmp e WizModernSmallImageis.Bmp
Possiamo comunque, rispettando i parametri indicati, costruirci dei files grafici
personalizzati per il nostro pacchetto di installazione.
Per riepilogare la nostra applicazione, dispone della ramificazione
Cartella: FILESVARI
Files
vari
File: CODICE
FISCALE
File: PROCEDURE
A questo punto proseguiamo con le schermate presentate da Inno Setup
- Seconda schermata:
Proseguendo con Inno Setup avremo la schermata seguente, dove dobbiamo indicare nei campi:
Application Name
Nome del Programma, che sarà visualizzalo nella finestra di
benvenuto e che verrà poi riportato nel menù di Avvio/Start di
Windows
Application name including version
Nome esteso del programma con la sua versione, e che sarà
visualizzato solo in fase di installazione, nella finestra di benvenuto,
sotto application Name
Pagina 8 di 13
Tutorial su INNO SETUP – www.vbscuola.it
Application Publisher (opzionale)
Nome che viene inserito, dopo l’installazione, sotto l’icona del programma installato, insieme al nome
del programma stesso
Application Website (opzionale)
E’ il nome del sito Web – Viene inserito un collegamento al sito indicato, direttamente nella cartella
del programma installato, sotto Avvio/Start – Programmi - <nome programma>
- Terza schermata:
Application destination base directory
Lasciare Program files directory, che crea in automatico la cartella
dove inserire i programmi.
Application directory name
Nome della cartella di destinazione dove installare il programma
C:\Programmi\<Application directory name> nel nostro esempio la
chiameremo Codice fiscale di vbscuola.
Lasciare i flag di default, in particolare il flag Allow user to change
the app… consente in fase di installazione di cambiare la directory
di installazione.
- Quarta schermata:
Application main executable file
Selezionare il programma eseguibile da installare (il nostro
programma), tramite il pulsante Browse
Other application files (opzionale)
Selezionare ogni singolo file di cui fa uso il programma (file wave,
grafici, Database ecc) premendo il pulsante Add file(s) saranno
inseriti in <Application directory
name>. Oppure selezionare una
directory e tutti i suoi files saranno
inseriti in <Application directory name> Per variare la cartella di
destinazione, selezionarla e premere il pulsante Edit indicando una
cartella diversa di destinazione, nel nostro esempio la cartella, si
chiama FilesVari.
Nel caso in cui qualche file di cui fa uso il nostro programma deve
essere inserito in qualche cartella di Windows (come quella di
sistema), allora lo si seleziona, si preme il tasto edit e si sceglie la Destination base directory ove
installare il file.
Pagina 9 di 13
Tutorial su INNO SETUP – www.vbscuola.it
- Quinta schermata:
Application Start Menu Folder Name
E’ il nome che prenderà la ramificazione (contenente il programma
chiamato <Application Name> all’interno del menu Programmi del
pulsante Avvio/Start di Windows. I flag sono:
Allow user to change the…
Inserisce il collegamento al programma in Avvio/Start di Windows
Allow user to disable Start…
Da la possibilità di non inserire il collegamento al programma in
Avvio/Start di Windows
Create an Internet shortcut…
Inserisce il link al sito web indicato nella seconda schermata
Create an unistall Icon in the start menu folder
Inserisce l’utility di disinstallazione del programma che si sta installando
Allow use to create a desktop icon
Inserisce l’icona del programma da installare sul desktop
Allow use to create a Quick…:
Inserisce l’icona programma da installare anche sulla barra delle applicazioni di Windows
- Sesta schermata:
Se si desidera selezionare i tre file di testo con le notifiche
all’installazione, allora occorre selezionare:
Licenze File (opzionale)
E’ il file di testo con i termini di licenza, che devono essere accettati
per poter proseguire con l’installazione. Nell’esempio è il file
Licenza.txt
File Information file show before installation (opzionale)
E’ il file di testo con le notizie da visualizzare prima di dare inizio
all’istallazione. Nell’esempio è il file MsgPrima.Txt
File Information file show after installation (opzionale)
E’ il file di testo con le notizie da visualizzare dopo aver eseguito l’installazione. Nell’esempio è il file
MsgPrima.Txt
- Settima schermata:
Selezionare la lingua nella quale vengono indicati tutti i messaggi durante l’installazione del nostro
programma.
Pagina 10 di 13
Tutorial su INNO SETUP – www.vbscuola.it
- Ottava schermata:
Compiler destination base directory
E’ la cartella dove risiederà il file di setup del nostro pacchetto di
installazione, e sarà un unico file.
Compiler output base file name
E’ il nome che prenderà il file contenente il pacchetto di
installazione, residente nella cartella menzionata prima.
Custom setup icon –(opzionale)
E’ un file contenente una serie di icone, tra cui scegliere l’icona che
possiederà il file del pacchetto di installazione e richiede le definizioni del compilatore.
Setup Password – E’ la Password richiesta dal nostro pacchetto di
installazione.
Proseguire fino alla fine delle altre due schermate e terminare
premendo il pulsante Finish.
Inno Setup crea il linguaggio script per poter compilare il nostro
pacchetto di installazione, con le condizioni inserite.
Questo file script lo si può salvare o modificare, per poi compilarlo
successivamente.
Ad ogni modo compare il messaggio: Would you like compile the new script now? Premendo Si, viene
eseguita la compilazione dello script e creato il file di installazione.
Pagina 11 di 13
Tutorial su INNO SETUP – www.vbscuola.it
Il file script generato
Per brevità si riportano semplicemente alcune modifiche al file script, senza commentare il codice, in
quanto per buona parte è facilmente intuibile e comunque per le particolarità si rimanda all’help in
linea di Inno Setup, che risulta piuttosto dettagliato.
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define
#define
#define
#define
#define
#define
MyAppName "Codice fiscale"
MyAppVerName "Codice fiscale 1.8"
MyAppPublisher "(vbScuola)"
MyAppURL "www.vbscuola.it"
MyAppExeName "CodiceFiscale2.exe"
MyAppUrlName "CodiceFiscale2.url"
[Setup]
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\Codice fiscale di vbScuola
DefaultGroupName={#MyAppName}
LicenseFile=H:\Prg\Licenza.txt
InfoBeforeFile=H:\Prg\MsgPrima.txt
InfoAfterFile=H:\Prg\MsgDopo.txt
OutputDir=e:\compilazione
OutputBaseFilename=SetupCodFisc
Password=chicca
Compression=lzma
SolidCompression=yes
Nella sezione del setup possiamo aggiungere le due righe di codice che caricano i grafici, senza usare
quelli di default
WizardImageFile=C:\Documenti\GraficoGrande.BMP
WizardSmallImageFile=C:\Documenti\GraficoiPiccolo.BMP
[Languages]
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription:
"{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription:
"{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "H:\Prg\CodiceFiscale2.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "H:\Prg\Procedure.bas"; DestDir: "{app}"; Flags: ignoreversion
Source: "H:\Prg\Supporto\*"; DestDir: "{app}\FilesVari"; Flags: ignoreversion recursesubdirs
createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Pagina 12 di 13
Tutorial su INNO SETUP – www.vbscuola.it
In questa sezione, dovendo inserire una DLL nella directory System e registrarla è:
Source: E:\MSRD2X35.DLL; DestDir: {sys}; CopyMode: alwaysskipifsameorolder; Flags:
restartreplace sharedfile regserver
mentre per un OCX o DLL nella directory System senza la sua registrazione:
Source: E:\MSREPL35.DLL; DestDir: {sys}; Flags: ConfirmOverWrite
[INI]
Filename: "{app}\{#MyAppUrlName}"; Section: "InternetShortcut"; Key: "URL"; String:
"{#MyAppURL}"
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{app}\{#MyAppUrlName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename:
"{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags:
nowait postinstall skipifsilent
[UninstallDelete]
Type: files; Name: "{app}\{#MyAppUrlName}"
Per creare uno script molto particolareggiato si può usare un programma freeware scaricabile dalla rete,
che consente di settare il pacchetto applicativo nelle sue molteplici parti.
Il programma in questione è ScriptMaker, che attraverso varie schermate e impostazioni, è in grado di
generare uno script molto efficiente per creare i nostri pacchetti di installazione. Lo si scarica
all’indirizzo http://www.hisoft2000.de il cui link si ritrova anche sul sito di Jordan Russell
Un altro programma, più semplice da usare, è ISTool , anch’esso freeware, molto simile a ScriptMaker
è prelevabile all’indirizzo www.istool.org
Per trovare la soluzione alle condizioni poste per i propri pacchetti di installazione, visitare gli
innumerevoli forum in rete.
Pagina 13 di 13