Comments
Description
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