Twitter Profile
salta alla navigazione

Bisogno di un Installer? Provate con Inno Setup 19 Settembre 2008

Inviato da LukePet in : Chicche, Informatica, Prodotti, Software, Soluzioni, Sviluppo, Windows , trackback

In questi giorni a lavoro avevo l’esigenza di sviluppare dei pacchetti da distribuire per aggiornare un applicativo che ho implementato. L’azienda per cui attualmente lavoro sviluppa in Microsoft .NET (chiaramente stiamo parlando di ambiente Windows); dovevo quindi individuare uno strumento in grado di supportare l’update dei programmi installati sulle macchine dei clienti.

Inizialmente ho testato la distribuzione ClickOnce per capire se potesse essere sfruttata…ma per alcune questioni tecniche, che non sto qui a spiegarvi, mi sono reso conto che non era adatta al mio caso. Così ho deciso di appoggiarmi ai classici e sempre ben voluti installer.

Ho testato quindi diversi tool per la generazione di installer…a partire da quello di Visual Studio passando per le varie utility disponibili in rete.

Tra tutti i prodotti testati quello che mi ha colpito maggiormente è stato Inno Setup.

Si tratta di uno dei più diffusi programmi per la creazione di setup personalizzati…intuitivo, flessibile e free, appena l’ho provato ho capito che faceva chiaramente al mio caso. Con Inno Setup è possibile configurare degli script ad hoc per l’installazione degli applicativi; ogni operazione può essere impostata secondo le proprie esigenze impostando degli specifici flag di controllo. Seguendo la dettagliata guida fornita con il programma avrete un ottimo supporto nella creazione dei vostri script.

Grazie ad Inno Setup sono riuscito a creare un pacchetto che, oltre a copiare i file aggiornati nella directory dell’applicativo, mi consente di applicare degli script sql per l’aggiornamento di una base dati. Ora vi spiego come ho fatto…magari può tornare utile a qualcuno.

Prima di tutto, da SQL Server, mi sono creato gli script sql che mi servivano (creazione tabella, modifiche stored procedure, etc.), successivamente ho creato un file .bat che esegue il seguente comando:
osql -U NOMEUTENTE -P PASSWORD -d NOMEDATABASE -i NOMESCRIPT.sql

l’istruzione non fa altro che richiamare la connessione alla base dati ed eseguire lo script passato. A questo punto mi è bastato impostare il setup in modo tale che copiasse, durante la fase di installazione, il file bat ed i relativi script sql nella directory dei file temporanei di Windows. Lo stesso setup richiama in modalità nascosta l’esecuzione del file bat e, ad installazione terminata, cancella dalla cartella temporanea tutti i file precedentemente copiati. Ecco alcune delle istruzioni che ho utilizzato nello script per la creazione dell’installer:
.
.
[Files]
Source: "NOMEFILE.bat"; DestDir: "{win}\Temp"; Flags: ignoreversion deleteafterinstall
Source: "NOMESCRIPT.sql"; DestDir: "{win}\Temp"; Flags: ignoreversion deleteafterinstall
.
.
[Run]
Filename: "{win}\Temp\NOMEFILE.bat"; Flags: runhidden skipifsilent

Tutto ciò è possibile utilizzando Inno Setup.

Se avete bisogno di una soluzione di questo tipo, io vi consiglio proprio di provarlo; ecco il link per il download: http://www.jrsoftware.org/isinfo.php.

Probabilmente vi sarà di grande aiuto.

blog comments powered by Disqus