Una guida ai sistemi per la creazione di installatori. Creazione di un pacchetto di distribuzione di installazione per il programma Creazione di pacchetti di installazione in inno setup
Per la comodità di installare i tuoi programmi sui computer degli utenti, dovrai creare un kit di distribuzione. Oggi voglio parlare di uno strumento molto potente e gratuito per la creazione di distribuzioni per Windows: Inno Setup.
Informazioni su Inno Setup
Installazione Inno apparso nel 1997, oggi compete con gli installatori a pagamento e ne supera addirittura molti in termini di numero di funzioni e stabilità. La home page del progetto si trova in .
Ecco le caratteristiche principali del programma di installazione:
- Supporto per tutte le versioni finestre, iniziando con Windows 2000, Compreso: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003 e Windows 2000. Ciò non richiede alcun Service Pack.
- Ampio supporto per l'installazione di applicazioni a 64 bit su versioni a 64 bit finestre. Supporto all'architettura x64 e Itanio(se utilizzato Windows Server 2003 sul Itanio architettura, per installare la modalità a 64 bit è necessario il Service Pack 1 o successivo).
- La possibilità di creare un kit di distribuzione costituito da un unico file EXE per una facile distribuzione su Internet. È supportato anche il partizionamento del disco.
- Interfaccia guidata di configurazione standard in grande stile Windows 2000/XP.
- Tipi di installazione personalizzati come Completare, compatto, Selettivo.
- Ampie opzioni di disinstallazione.
- Installazione dei file: include il supporto integrato per la compressione sgonfiare, bzip2 e 7-Zip LZMA/LZMA2. Il programma di installazione può confrontare le versioni dei file, sostituire i file usati, utilizzare un conteggio file comune, registrarsi DLL/OCX e librerie di tipi e installa caratteri.
- Crea scorciatoie ovunque, incluso menu iniziale e Desktop.
- Creazione di elementi registro e file INI.
- Esecuzione di altri programmi prima, durante e dopo l'installazione.
- Creazione distribuzioni multilingue, comprese le lingue scritte da sinistra a destra.
- Creazione distribuzioni protette da password e crittografate.
- Supporto firma digitale durante l'installazione e la rimozione.
- Installazione e rimozione nascoste.
- Supporto Unicode.
- Preprocessore integrato per ulteriore personalizzazione in fase di compilazione.
- Processore di script integrato Pasquale per eseguire ulteriori passaggi durante l'installazione e la disinstallazione.
- Codice sorgente gratuito ( Borland Delfi 2.0-5.0 e 2009 ).
Grande vantaggio Installazione Innoè che può essere utilizzato in modo assolutamente gratuito anche per uso commerciale. Anche se puoi fare una donazione come ringraziamento o per supportare l'installatore. C'è anche un elenco di tutti coloro che hanno donato a partire da $ 100.
Ecco come viene creata la pagina iniziale della procedura guidata di installazione della distribuzione standard Installazione Inno.
Informazioni sulla creazione di una distribuzione in Inno Setup
Creazione di una distribuzione con Installazione Inno succede così:
1. Per prima cosa crei Script di installazione Inno. Script di installazione di Innoè un file di testo con estensione .iss, che contiene le proprietà della distribuzione e una serie di azioni eseguite durante l'installazione e la rimozione. Lo script può essere creato utilizzando un editor standard Installazione Inno(vedi foto) o utilizzando uno degli editor di terze parti come Inno Script Studio o ISTool. In questo articolo, prenderò in considerazione l'utilizzo solo dell'editor standard. Installazione Inno.
2. Quindi compili lo script per ottenere una distribuzione.
3. Dopo la compilazione, è possibile testare ed eseguire il debug della distribuzione risultante installando e disinstallando.
Installa Inno Setup
Per creare distribuzioni con Installazione Inno basta installare il compilatore Installazione Inno al tuo computer. La distribuzione può essere scaricata. Puoi trovare il link per il download dell'ultima versione stabile nella sezione Versione stabile. Al momento in cui scrivo, l'ultima versione Installazione Inno era 5.5.5 , guarda l'immagine. Per scaricare la distribuzione, clicca sul link " sito casuale» accanto alla versione con supporto Unicode(file issetup-5.5.5-unicode.exe) o senza di essa ( ANSI versione - file issetup-5.5.5.exe). Per evitare problemi con la visualizzazione dell'alfabeto cirillico, è meglio usarlo immediatamente Unicode-opzione Installazione Inno.
Se hai intenzione di crittografare la tua futura distribuzione, allora il modulo di crittografia ISCrypt.dll devi scaricarlo separatamente nella sezione Modulo Crittografia, guarda l'immagine (sotto vedi un link ai codici sorgente di questo modulo - ISCrypt.zip).
Nella stessa pagina, nella sezione QuickStart Pack, puoi trovare un link alle distribuzioni ispack-5.5.5.exe e ispack-5.5.5-unicode.exe per l'installazione Installazione Inno insieme a Inno Script Studio, guarda l'immagine. Inno Script Studioè uno sviluppo di terze parti Soluzioni Kymoto) che ti offre una bella interfaccia utente e ti dà la possibilità di eseguire il debug del tuo programma di installazione in fase di esecuzione. Inoltre, questa distribuzione offrirà il download e l'installazione del modulo di crittografia ISCrypt.dll automaticamente.
Oltre a tutto quanto sopra, nella pagina di download è presente una sezione Beta Release, per il download delle versioni beta Inno Setu p e , per scaricare i codici sorgente, su cui non mi concentrerò.
Se hai intenzione di utilizzare editor di script più avanzati Installazione Inno, potresti anche essere interessato alla pagina File di terze parti di Inno Setup per un elenco di sviluppi di terze parti. Ecco alcuni sviluppi di terze parti che possiamo utilizzare insieme Installazione Inno:
- Inno Script Studio - interfaccia utente e debugger. Installato con distribuzione Pacchetto di avvio rapido(vedi sopra) o una distribuzione separata, che puoi scaricare dal sito web dello sviluppatore. C'è la russificazione.
- Visual & Installer - plugin a pagamento per studio visivo(supportato Visual Studio 2005, 2008 , 2010 , 2012 e 2013 ) per creare distribuzioni con Installazione Inno. Anche Visuale e installatore contiene maestro Procedura guidata di installazione grafica, che ti consente di creare distribuzioni a tema (vedi esempi).
- Inno Download Plugin - libreria e script Installazione Inno, che ti permettono di scaricare file durante l'installazione della tua distribuzione. C'è il supporto per la lingua russa. Protocolli supportati FTP, http e HTTPS.
- InnoTools Downloader è un'altra opzione simile a Plugin per il download di Inno, anche per scaricare i file durante l'installazione. Ma non c'è alcuna localizzazione qui, e solo FTP e http.
- Stili VCL per Inno Setup / ISSkin / Graphical Installer (l'ultimo strumento è a pagamento) - strumenti per modificare il design della procedura guidata di installazione della tua distribuzione.
- InnoScript: crea automaticamente un file di script Installazione Inno (.iss) per file di progetto Visual Basic (.vbp o .vbproj). C'è la russificazione.
- - crea un kit di distribuzione per il progetto Visual Basic dall'ambiente di sviluppo Visual Basic 6.0.
- - consente per file Delfi progetto ( .dpr) o dal file di progetto della libreria Delfi (.dpk) crea un elenco di dipendenze necessarie per creare una distribuzione. con il progetto Delphi XE3 Questo strumento non ha funzionato per me.
- Inno Setup Script #Includes è una libreria di funzioni che puoi utilizzare durante l'installazione. È possibile visualizzare l'elenco delle funzioni.
- Inno Setup Easy Translator - editor di file di lingua Installazione Inno (.isl). Questo sito è inattivo dal 2013, ma non preoccuparti, puoi facilmente creare e modificare file di lingua con qualsiasi editor di testo.
- UninsHs è un'estensione che ti permette di aggiungere il supporto per " Ripara/Modifica/Rimuovi» alle tue applicazioni.
Anche in questa lista, per qualche ragione, ci sono ancora degli sviluppi ben noti ( elenco aggiornato il 13/04/2015):
- - interfaccia utente per lavorare con lo script Installazione Inno. Questo programma è molto simile a Inno Script Studio. Se cerchi, puoi trovare Russification, guarda l'immagine.
- InnoIDE- un'altra interfaccia utente per lavorare con lo script Installazione Inno. Sito web InnoIDE ha cessato di esistere intorno ad agosto 2012 (www.innoide.org), quindi non ha senso utilizzare questo sviluppo. Ma l'archivio del sito è stato conservato, che può essere visualizzato. Puoi anche scaricare il kit di distribuzione lì. russificazione per InnoIDE può essere trovato su Internet.
- InnoSetup Script Joiner - un'utilità che combina diversi script Installazione Inno in uno.
- (Inno Setup Unpacker) - decompressore delle distribuzioni create con Installazione Inno. Applicazione console.
- InnoExtractor è un altro decompressore, ma con un'interfaccia utente. C'è la russificazione. Ha funzionato alla grande con la mia distribuzione di prova crittografata (vedi immagine). Come puoi vedere, ottiene assolutamente tutti i file, inclusi i file utilizzati dal programma di installazione e persino il file di script di Inno Setup.
In realtà, dopo aver deciso la funzionalità necessaria, è possibile avviare l'installazione. Qui considererò solo l'installazione Installazione Inno + Inno Script Studio usando il pacchetto Pacchetto di avvio rapido(file ispack-5.5.5-unicode.exe). Sebbene non abbia senso dipingere tutti i passaggi in dettaglio, mi concentrerò solo su alcuni. Segno di spunta " Scarica e installa Inno Script Studio' deve essere se si desidera installare Inno Script Studio, segno di spunta " Installa Inno Setup Preprocessor" - per installare il preprocessore, spuntare " Scarica e installa il supporto per la crittografia" - per installare il modulo ISCrypt.dll per crittografare la distribuzione.
Prima esecuzione di Inno Setup Compiler
L'unica finestra del programma Installazione Innoè la finestra del compilatore. Il compilatore viene avviato dal menu di avvio. La prima volta che lo esegui, vedrai un messaggio che ti chiede di creare uno script vuoto, avviare una procedura guidata di script o aprire esempi o file recenti.
Se non hai esperienza con Installazione Inno, allora gli esempi torneranno utili. Apriamo qualche esempio, premiamo il pulsante "OK" e selezioniamo uno degli esempi. Dopo che l'esempio è stato aperto, puoi valutare l'aspetto di un semplice script. Installazione Inno. Nota anche che l'interfaccia del compilatore è molto semplice e dovrai scrivere l'intero script a mano. Qui troverai solo aiuto ed esempi.
Utilizzo della procedura guidata per creare uno script di installazione di Inno
Crea un nuovo script Installazione Inno puoi iniziare da zero o puoi usare la procedura guidata di script. Ad esempio, creerò un kit di distribuzione per l'installazione del programma MyProg.exe, che si trova nella cartella degli esempi (installata con Installazione Inno). Una volta avviato, il programma visualizza due finestre e termina.
Per richiamare la finestra della procedura guidata di creazione dello script, fare clic sulla voce di menu " File -> Nuovo” o nella finestra di benvenuto, seleziona l'opzione “ Creare un nuovo file di script utilizzando Script Wizard" e premere " OK". La prima schermata della procedura guidata sarà una schermata di benvenuto. Premere qui " Avanti >».
Nella seconda schermata, inserisci il nome dell'applicazione ( Nome dell'applicazione), versione dell'applicazione ( Versione dell'applicazione), editore dell'applicazione ( Editore dell'applicazione) e l'indirizzo del sito web dell'applicazione ( Sito web dell'applicazione). I campi obbligatori sono contrassegnati in grassetto nella procedura guidata e il resto può essere lasciato vuoto.
Nel passaggio successivo, selezioni una cartella per la tua applicazione. Per impostazione predefinita, come puoi vedere dall'immagine, questa è una cartella con lo stesso nome del nome dell'applicazione e verrà creata all'interno della cartella File di programma. Segno di spunta " Consenti all'utente di modificare la cartella dell'applicazione' consentirà all'utente di modificare la cartella durante il processo di installazione. E quando si imposta la casella di controllo " L'applicazione non ha bisogno di una cartella» la cartella dell'applicazione non verrà creata affatto.
Se dall'elenco a discesa " Cartella di base di destinazione dell'applicazione" Tu scegli " (Costume)”, quindi nel campo situato appena sotto, puoi impostare un percorso arbitrario. Ad esempio, affinché la cartella dell'applicazione sia sull'unità di sistema, è necessario specificare " (sd)».
Come puoi vedere, per specificare l'unità di sistema, ho specificato " (sd)" invece di " C:”, perché su computer diversi il disco di sistema potrebbe essere diverso. Generalmente dentro Installazione Inno userai costanti come " (sd)". Tutte le costanti sono racchiuse tra parentesi graffe e ce ne sono molte. Ecco un elenco completo delle costanti con una breve descrizione (per una descrizione completa, vedere il " Costanti» nella guida):
Costanti di directory:
- (app)– directory dell'applicazione, ad esempio "C:\Programmi\Programma personale".
- (vincita)– Directory di Windows, ad esempio "C:\WINDOWS".
- (sistema)– Directory System32, ad esempio "C:\WINDOWS\SYSTEM".
- (src)– directory in cui si trovano i file di distribuzione (questa è una cartella temporanea con i file di distribuzione decompressi).
- (sd)– unità di sistema, ad esempio "C:".
- (pf)– directory dell'applicazione, ad esempio "C:\Programmi (x86)" (in modalità a 64 bit, questa sarà una cartella per le applicazioni a 64 bit). Nella modalità a 32 bit, questa costante è equivalente alla costante (pf32) e a 64 bit - (pf64).
- (cfr)– cartella di file comuni, ad esempio "C:\Programmi (x86)\File comuni". Nella modalità a 32 bit, questa costante è equivalente alla costante (cfr32) e a 64 bit - (cfr64).
- (tmp)– cartella temporanea utilizzata durante l'installazione o la disinstallazione (il nome della cartella sarà nel formato “C:\WINDOWS\TEMP\IS-xxxxx.tmp”).
- (caratteri)- cartella dei caratteri.
- (dotnet11)è la cartella principale di .NET Framework 1.0.
- (dotnet20)– Cartella principale di .NET Framework 2.0. Nella modalità a 32 bit, questa costante è equivalente alla costante (dotnet2032) e a 64 bit - (dotnet2064).
- (dotnet40)– Cartella principale di .NET Framework 4.0. Nella modalità a 32 bit, questa costante è equivalente alla costante (dotnet4032) e a 64 bit - (dotnet4064).
Costanti della cartella ambiente:
- (gruppo)- Percorso della cartella del menu Start accessibile a tutti gli utenti.
- (localappdata)– percorso della cartella dati dell'applicazione locale (senza roaming).
- (inviare a)– percorso della cartella utente Invia a.
- (dati dell'app utente) e (dati app comuni)– percorso della cartella Dati dell'applicazione.
- (usercf)– percorso della cartella utente File comuni (funziona solo per Windows 7 e versioni successive, per le versioni precedenti di Windows questa costante sarà uguale a (localappdata)\Programmi\Common).
- (desktop utente) e (desktop comune)* - percorso della cartella del desktop.
- (documenti utente) e (documenti comuni)- il percorso della cartella "My Documents" (My Documents).
- (preferiti dall'utente) e (preferiti comuni)* - percorso della cartella Preferiti.
- (userpf)– percorso della cartella Programmi dell'utente (funziona solo per Windows 7 e versioni successive, per le versioni precedenti di Windows questa costante sarà uguale a (localappdata)\Programmi).
- (programmi utente) e (programmi comuni)* - il percorso della cartella "Tutti i programmi" (Programmi) nel menu "Start".
- (menu di avvio utente) e (menu di avvio comune)* - percorso al livello superiore del menu di avvio.
- (avvio utente) e (avvio comune)* - il percorso della cartella "Startup" (Startup) nel menu "Start".
- (modelli utente) e (modelli comuni)* - percorso della cartella "Modelli".
* = le costanti "comuni" sono equiparate alle costanti "utente" se l'utente non dispone dei privilegi di amministratore o se l'istruzione PrivilegesRequired è impostata sul valore più basso.
Altre costanti:
- {\} – viene utilizzato quando è richiesta una barra alla fine del percorso, ad esempio (app)(\). In caso contrario, Inno Setup rimuoverà l'ultima barra.
- (%NAME|Valore predefinito)è il valore della variabile di ambiente, dove NAME è il nome della variabile, DefaultValue è la stringa da utilizzare se la variabile non esiste. Valore predefinito: facoltativo. Esempi: (%COMSPEC) o (%PROMPT|$P$G). Se la stringa utilizza i caratteri ",", "|", ")" o "%", al loro posto devi scrivere "% 2c", "% 7c", "% 7d" e "% 25", rispettivamente.
- (cmd)– percorso completo della console, ad esempio Windows\System32\cmd.exe (la variabile di ambiente COMSPEC non viene utilizzata per espandere questa costante).
- (nome del computer)– nome del computer su cui viene eseguita l'installazione o la disinstallazione (il valore restituito dalla funzione GetComputerName).
- (guida: percorso)- Ottiene una lettera di unità con due punti da un percorso arbitrario. Se viene specificato un percorso UNC, restituisce il server e la cartella, ad esempio \\SERVER\SHARE. Anche qui, per scrivere i caratteri ",", "|", ")" o "%", è necessario scrivere rispettivamente "%2c", "%7c", "%7d" e "%25". Esempi sono: (unità:(src)), (unità:c:\percorso\file) o (unità:\\server\condivisione\percorso\file).
- (nome del gruppo)- il nome della cartella nel menu Start per le voci di menu, che l'utente ha selezionato durante l'installazione. A differenza di una costante, (gruppo) restituisce solo il nome, non il percorso completo.
- (hwnd)– identificatore della finestra di sfondo del programma di installazione.
- (guida guidata)– identificatore della finestra del programma di installazione o 0 se l'identificatore non è disponibile.
- (ini:Nome file,Sezione,Chiave|Valore predefinito)– valore dal file INI, dove Filename è il nome del file INI, Section è il nome della sezione nel file INI, Key è il nome della chiave nel file INI, DefaultValue è la stringa da utilizzare se il la chiave non è stata trovata. Anche qui, per scrivere i caratteri ",", "|", ")" o "%", è necessario scrivere rispettivamente "%2c", "%7c", "%7d" e "%25". Esempio: (ini:(win)\MyProg.ini, Settings, Path|(pf)\My Program).
- (linguaggio)– nome interno della lingua selezionata.
- (cm:nome messaggio) e (cm:MessageName,Argomenti)– messaggio nella lingua corrente, dove NomeMessaggio è il nome del messaggio, Argomenti sono gli argomenti per il messaggio separati da virgole. Anche qui, per scrivere i caratteri ",", "|", ")" o "%", è necessario scrivere rispettivamente "%2c", "%7c", "%7d" e "%25". Esempio: (cm:LaunchProgram,Inno Setup).
- (reg:HKxx\SubkeyName,ValueName|DefaultValue)è una stringa del registro, dove HKxx è la chiave radice del registro, SubkeyName è il percorso della chiave desiderata, ValueName è il nome del valore (o vuoto se si desidera leggere il valore predefinito per la chiave), DefaultValue è la stringa da utilizzare se il valore specificato non è presente o il valore non è una stringa (REG_SZ o REG_EXPAND_SZ). Anche qui, per scrivere i caratteri ",", "|", ")" o "%", è necessario scrivere rispettivamente "%2c", "%7c", "%7d" e "%25". Esempio: (reg:HKLM\Software\My Program, Path|(pf)\My Program).
- (param:ParamName|DefaultValue)è un parametro passato al programma di installazione sulla riga di comando, dove ParamName è il nome del parametro, DefaultValue è la stringa da utilizzare se il parametro specificato non viene trovato. Qui, per scrivere i caratteri ",", "|", ")" o "%", devi scrivere rispettivamente "% 2c", "% 7c", "% 7d" e "% 25". Esempio: (param:Percorso|(pf)\Programma personale).
- (srcexe)– percorso completo del programma di installazione, ad esempio C:\SETUP.EXE.
- (disinstalla.exe)– percorso completo del programma di disinstallazione creato dal programma di installazione, ad esempio C:\Programmi\Programma\unins000.exe. Questa costante viene in genere utilizzata per creare un collegamento per disinstallare un programma nella sezione dello script di installazione di Inoo. La costante è valida solo se l'istruzione Uninstallable è impostata su yes.
- (nomeinfoutentesistema), (sysuserinfoorg)- il nome e l'organizzazione, rispettivamente, a cui Windows è registrato. Queste informazioni vengono lette dal registro.
- (nome utente), (informazioni utente), (seriale informativa dell'utente)– il nome, l'organizzazione e il numero di serie rispettivamente specificati dall'utente nella pagina Informazioni utente della procedura guidata di installazione (che può essere abilitata utilizzando l'istruzione UserInfoPage). In genere queste informazioni vengono utilizzate per scrivere nel registro o INI per un uso successivo.
- (nome utente)– nome dell'utente che ha avviato il programma di installazione o disinstallazione (utilizzando la funzione GetUserName).
- (tronco d'albero)è il nome del file di registro o una stringa vuota se la registrazione non è abilitata.
Il passaggio successivo della procedura guidata di Inno Setup Script ti consente di aggiungere i file dell'applicazione.
Il campo più in alto seleziona il file eseguibile principale. Se selezioni la casella " Consenti all'utente di avviare l'applicazione al termine dell'installazione", quindi all'utente verrà richiesto di eseguire l'applicazione dopo l'installazione. Se la tua distribuzione non ha un file eseguibile, puoi selezionare " L'applicazione non ha un file eseguibile principale". Di seguito è riportato un elenco di file per la distribuzione. Qui puoi aggiungere singoli file (pulsante " Aggiungere i file)…”) o intere cartelle (“ Aggiungi cartella..."). Quando aggiungi una cartella, vedrai un'ulteriore domanda se includere o meno le sottocartelle.
Dopo aver aggiunto cartelle e file all'elenco, potrai modificare ogni elemento (pulsante " Modificare...”) o eliminarlo (pulsante “ Rimuovere"). Nella finestra di modifica, puoi modificare molti parametri: se devi includere ricorsivamente le sottocartelle (daw " Sottocartelle ricorsive”), se è necessario includere cartelle vuote (daw “ Includi sottocartelle vuote”), cartella di destinazione di base (campi “ Cartella di base di destinazione"") e una cartella all'interno della cartella di destinazione di base (" Sottocartella di destinazione»).
Ad esempio, aggiungeremo solo il file della guida.
Il passaggio successivo della procedura guidata è la selezione delle icone da creare. In campo" Nome della cartella del menu di avvio dell'applicazione» è impostato sul nome del gruppo nel menu Start. Se selezioni la casella " Consenti all'utente di modificare il nome della cartella del menu Start", l'utente potrà modificare il nome della cartella durante l'installazione e se si seleziona " Consenti all'utente di disabilitare la creazione della cartella del menu Start", quindi l'utente potrà disabilitare del tutto la creazione di questa cartella nel menu Start. Selezionare la casella " Crea un collegamento Internet nella cartella del menu Start" e " Crea un'icona di disinstallazione nella cartella del menu Start» in modo che il programma di installazione crei collegamenti all'interno del gruppo, rispettivamente, per aprire il tuo sito e rimuovere la tua applicazione. segni di spunta" Consenti all'utente di creare un'icona sul desktop" e " Consenti all'utente di creare un'icona di avvio veloce' consentirà all'utente di creare collegamenti sul desktop e nel gruppo di avvio veloce. Spunterò tutte le caselle.
Il passaggio successivo consiste nell'impostare i file di licenza ( file di licenza) e file con le informazioni che verranno mostrate prima e dopo l'installazione. Se hai specificato un file di licenza, durante l'installazione, l'utente dovrà accettare la licenza. File supportati .testo e .rtf. Elencherò i file licenza.txt e leggimi.txt dalla cartella degli esempi.
Nel passaggio successivo, seleziona le lingue supportate. Lascerò l'inglese e aggiungerò il russo.
Il passaggio successivo consiste nell'impostare i parametri per il compilatore Installazione Inno. In campo" cartella di output del compilatore personalizzata» specifica il percorso della cartella in cui si trova il compilatore Installazione Inno salverà la distribuzione creata. Se questo campo è vuoto, la distribuzione verrà creata nella stessa cartella del file .iss. In campo" Nome del file di base dell'output del compilatore» specifica il nome di base per il file oi file di distribuzione. Ad esempio, se hai il nome " impostare”, quindi quando crei un kit di distribuzione composto da un unico file, riceverai un file setup.exe. In campo" File icona installazione personalizzata» è possibile specificare il nome del file icona per la futura distribuzione. Se non viene specificato nulla qui, verrà utilizzata l'icona standard. Nell'ultimo campo password di configurazione» è possibile specificare una password che l'utente deve fornire durante l'installazione. Se la casella di controllo " Utilizzare la password per crittografare i file dell'applicazione”, i file nella distribuzione verranno crittografati utilizzando la password specificata. Ad esempio, compilerò tutti i campi a modo mio.
Il passaggio successivo ti informa che è stato trovato un preprocessore. Installazione Inno e suggerisce di utilizzare le direttive #definire per semplificare la tua sceneggiatura. Se vuoi usare la direttiva #definire, lascia un segno di spunta Sì, usa le direttive del compilatore #define". Se la casella di controllo non è selezionata, in futuro è possibile aggiungere direttive #definire al tuo script manualmente.
E finalmente è apparso l'ultimo passaggio, in cui facciamo semplicemente clic sul pulsante " Fine».
Dopodiché, il compilatore vuole immediatamente compilare il nostro script. Mettiamoci d'accordo e premiamo il pulsante " sì».
Successivamente, il compilatore ci avviserà che lo script non è stato salvato e si offrirà di farlo.
Siamo d'accordo (premere " sì") e salva lo script. Dopo il salvataggio, lo script è stato compilato ed il kit di distribuzione era pronto, nell'esempio questo è il file mio-setup.exe, è stato creato nella cartella che ho specificato nella procedura guidata al passaggio " impostazioni del compilatore". Dopo la compilazione, puoi vedere come è andata nella sezione " output del compilatore» nella parte inferiore della finestra del compilatore, vedere l'immagine.
Come puoi vedere, tutto è semplice. Ora testiamo immediatamente la distribuzione finita. Fare clic sulla voce di menu " corri -> corri" per avviare l'installazione del programma.
Dopo aver creato un modello di script, puoi iniziare ad aggiungere varie azioni avanzate.
Debug di una distribuzione in Inno Setup
Per eseguire il debug della tua distribuzione, apri lo script .iss e fare clic sulla voce di menu corri -> corri" per avviare l'installazione del programma. Successivamente, puoi monitorare i processi interni durante l'installazione nel " Uscita di debug”, puoi impostare punti di interruzione sulle linee di cui hai bisogno, guarda l'immagine.
Per verificare il valore di una costante durante il debug, fare clic sulla voce di menu " Esegui -> Valuta costante..." e nella finestra di dialogo in rilievo specificare il nome della costante (vedi immagine) e fare clic su " OK».
Successivamente, apparirà la seguente finestra con il risultato restituito dalla costante.
Per eseguire il debug della disinstallazione, fare clic sulla voce di menu " Esegui -> Disinstalla destinazione", e poi " corri -> corri". E per tornare all'installazione cliccare sulla voce " Esegui -> Configurazione destinazione».
Struttura dello script Inno Setup
Gli script in Inno Setup sono divisi in sezioni. Il nome di ciascuna sezione è racchiuso tra parentesi quadre. Ogni sezione contiene elementi specifici di quella sezione. Per comodità, puoi creare più sezioni con lo stesso nome. Tali sezioni saranno percepite come una. Ecco un esempio:
[Installazione] AppName =Il mio programma [File] Sorgente: "MYPROG.EXE"; DestDir : "(app)"
È possibile commentare le righe che devono essere ignorate dal compilatore anteponendo un punto e virgola.
Direttiva C-like supportata nello script #includere, che obbliga il compilatore a tirare le righe dal file di testo arbitrario specificato nella posizione in cui si trova questa direttiva. Ecco la sintassi:
#include "nomefile.txt"
Con la direttiva #preprocè possibile specificare quale preprocessore deve essere utilizzato: inline, supporto solo per la direttiva #includere, o Inno Setup Preprocessor (ISPP), che supporta molte direttive e funzioni. Il preprocessore viene utilizzato per impostazione predefinita negli script. ISPP, se è installato e nei file .isl viene utilizzato il preprocessore integrato. Ecco la sintassi:
#preproc builtin #preproc ispp
Sezioni di script di Inno Setup
Ecco un elenco completo di tutte le sezioni Installazione Inno con una breve descrizione. Una descrizione completa delle sezioni e un elenco degli elementi delle sezioni sono disponibili nella sezione della guida " Imposta le sezioni dello script».
– questa sezione contiene le impostazioni globali utilizzate durante l'installazione e la disinstallazione. Esempio:
[ Configurazione ] AppName =Il mio programma AppVersion =1.5 DefaultDirName =( pf ) \Il mio programma DefaultGroupName =Il mio programma
– una sezione opzionale che definisce le opzioni di installazione ( Completare/compatto/Selettivo), che verrà visualizzato nella pagina di selezione dei componenti da installare. Esempio:
[Tipi] Nome: "completo"; Descrizione: "Installazione completa" Nome: "compatto"; Descrizione : "Installazione compatta" Nome : "custom" ; Descrizione : "Installazione personalizzata" ; Bandiere: è personalizzato
– una sezione opzionale che definisce i componenti che verranno visualizzati nella pagina di selezione dei componenti per l'installazione. Esempio:
[Componenti] Nome: "principale"; Descrizione: "File principali"; Tipi: full compact custom; Flags: fisso Nome: "help" ; Descrizione : "File di aiuto" ; Tipi : nome completo : "help\english" ; Descrizione : "Inglese" ; Tipi: nome completo: "help\olandese" ; Descrizione : "Olandese" ; Tipi : pieno
– una sezione opzionale per la creazione di attività aggiuntive da eseguire durante l'installazione. L'utente vedrà le attività sotto forma di pulsanti di opzione e potrà scegliere se eseguire questa o quella attività o meno. Esempio:
[Attività] Nome: desktopicon; Descrizione : "Crea un'icona &desktop" ; GroupDescription : "Icone aggiuntive:" ; Componenti : nome principale : desktopicon\common; Descrizione : "Per tutti gli utenti" ; GroupDescription : "Icone aggiuntive:" ; Componenti: principale; Flag : esclusivo Nome : desktopicon\user; Descrizione: "Solo per l'utente corrente" ; GroupDescription : "Icone aggiuntive:" ; Componenti: principale; Bandiere: esclusivo deselezionato Nome: quicklaunchicon; Descrizione : "Crea un'icona di &Avvio rapido" ; GroupDescription : "Icone aggiuntive:" ; Componenti: principale; Flag : deselezionato Nome : associato; Descrizione: "&Associa file" ; GroupDescription : "Altre attività:" ; Flag: deselezionato
- questa sezione opzionale definisce quali cartelle aggiuntive oltre alla cartella dell'applicazione devono essere create.
[ Dirs ] Nome : "(app)\data" Nome : "(app)\bin"
– una sezione facoltativa che determina quali file verranno installati sul computer.
[File] Fonte: "CTL3DV2.DLL"; DestDir : "(sys)" ; Flag: onlyifdoesntexist uninsneveruninstall Fonte: "MYPROG.EXE"; DestDir : "(app)" Fonte : "MYPROG.CHM" ; DestDir : "(app)" Fonte : "README.TXT" ; DestDir : "(app)" ; Flag: isreadme
– una sezione opzionale che determina quali collegamenti verranno creati nel menu Start, sul desktop, ecc.
[Icone] Nome: "(gruppo)\Il mio programma" ; Nome file : "(app)\MYPROG.EXE" ; WorkingDir : "(app)" Nome : "(gruppo)\Disinstalla il mio programma"; Nome file: "(uninstall.exe)"
– una sezione opzionale che determina quali voci verranno aggiunte al file INI.
[INI] Nome file: "MyProg.ini" ; Sezione : "Impostazioni di installazione" ; Flag : uninsdeletesection Nome file : "MyProg.ini" ; Sezione : "Impostazioni di installazione" ; Tasto : "Percorso di installazione" ; Stringa : "(app)"
e - queste sezioni opzionali determinano quali file o cartelle devono essere eliminati, rispettivamente, alla prima installazione o disinstallazione. Esempio:
[DisinstallaElimina] Digitare:file; Nome : "(vittoria)\MYPROG.INI"
– la sezione definisce le lingue che saranno disponibili durante l'installazione. Quando si esegue il programma di installazione, la lingua corrisponderà alla lingua del sistema. In caso contrario, verrà utilizzata per impostazione predefinita la lingua che è la prima nella sezione. . Esempio:
[Lingue] Nome: "en"; MessagesFile : "compiler:Default.isl" Nome : "nl" ; File di messaggi: "compilatore:Lingue\Dutch.isl"
– sezione per la sostituzione dei messaggi descritti nei file di lingua .isl. Un esempio di sostituzione del testo standard " &Avanti >” sul pulsante del passaggio successivo solo per l'inglese:
[ Messaggi ] it.ButtonNext =&Avanti >
– sezione per la definizione dei valori costanti (cm:...), vedere la descrizione delle costanti sopra. Esempio di utilizzo:
[ CustomMessages] CreateDesktopIcon=Crea un'icona &desktop [ Compiti ] Nome : desktopicon; Descrizione : "(cm:CreateDesktopIcon)"
– la sezione contiene le impostazioni della lingua, come il carattere. Esempio:
[ LangOptions ] LanguageName=Inglese LanguageID=$0409 LanguageCodePage=0 DialogFontName= DialogFontSize=8 WelcomeFontName=Verdana WelcomeFontSize=12 TitleFontName=Arial TitleFontSize=29 CopyrightFontName=Arial CopyrightFontSize=8 RightToLeft=no
- Questa sezione facoltativa specifica quali chiavi e valori creare, modificare o eliminare nel registro. Esempi di utilizzo:
[Registro] Radice: HKCU; Sottochiave : "Software\La mia azienda" ; Flag: uninsdeletekeyifempty Root: HKCU; sottochiave: ; Flag: uninsdeletekey Root: HKLM; Sottochiave : "Software\La mia azienda" ; Flag: uninsdeletekeyifempty Root: HKLM; sottochiave: "Software\La mia azienda\Il mio programma"; Flag: uninsdeletekey Root: HKLM; sottochiave: "Software\La mia azienda\Il mio programma\Impostazioni"; ValueType : stringa ValoreNome : "PercorsoInstallazione" ; ValueData : "(app)"
- questa sezione facoltativa definisce quali programmi eseguire dopo un'installazione riuscita, ma prima che il passaggio finale venga visualizzato nella finestra della procedura guidata di installazione. Esempi:
[Esegui] Nome file: "(app)\INIT.EXE" ; Parametri: "/x" Nome file: "(app)\README.TXT" ; Descrizione: "Visualizza il file README" ; Flag: postinstall shellexec skipifsilent Nome file: "(app)\MYPROG.EXE" ; Descrizione : "Avvia applicazione" ; Flags: postinstall nowait skipifsilent deselezionato
- questa sezione opzionale determina quali programmi devono essere eseguiti all'inizio della disinstallazione.
– in questa sezione opzionale puoi inserire il tuo copione di Pasquale. Per l'elaborazione copione di Pasquale si usa il motore Script Pascal di RemObjects. Questo motore è gratuito come Installazione Inno. Pagina ufficiale del motore Script Pascal di RemObjects- . Esempi di utilizzo possono essere trovati nei file " Codice*.iss" e " UninstallCode*.iss"nella cartella" Esempi» nel luogo di installazione Installazione Inno.
Ordine di installazione e disinstallazione
Un punto molto importante durante l'installazione è comprendere l'ordine in cui viene eseguito lo script. I passaggi del programma di installazione sono elencati di seguito nell'ordine in cui verranno eseguiti durante l'installazione:
- Esecuzione della sezione .
- Elementi di sezione vengono archiviati nel registro di disinstallazione (che, in questa fase, è archiviato in memoria).
- Se necessario, viene creata una directory dell'applicazione.
- Sezioni di corsa .
- Il nome del file di registro di disinstallazione è riservato, se necessario.
- Sezione in corso (i file non sono ancora registrati).
- Sezione in corso .
- Sezione in corso .
- Sezione in corso .
- I file che devono essere registrati vengono registrati, tranne quando è necessario riavviare il sistema. Nel caso in cui sia richiesto un riavvio, la registrazione avviene solo dopo il riavvio del sistema.
- Aggiungere all'elenco dei programmi installati (Pannello di controllo\Programmi\Programmi e funzionalità), se necessario.
- Elementi di sezione salvato nel registro di disinstallazione.
- Il file EXE e il registro del programma di disinstallazione vengono salvati su disco. Dopo questo punto, all'utente viene impedito di annullare l'installazione e qualsiasi errore successivo non eseguirà il rollback dell'installazione.
- Esecuzione della sezione , fatta eccezione per gli elementi della sezione con la bandiera " post-installazione”, che verrà eseguito dopo la visualizzazione dell'ultimo passaggio della procedura guidata di installazione.
- Aggiornamento delle associazioni per i file, se il flag " Cambia le associazioni" è impostato per " sì».
- Notifica alle applicazioni in esecuzione che le variabili di ambiente sono cambiate se il " Cambia l'ambiente" è impostato per " sì».
- Per quanto riguarda gli elementi della sezione, verranno eseguiti nell'ordine in cui si trovano all'interno della sezione.
La disinstallazione avviene nell'ordine inverso. Ma questo non si applica alle sezioni. e , che verranno eseguiti nell'ordine in cui si trovano nello script (non in ordine inverso).
Preprocessore Inno Setup
Vorrei scrivere alcune parole sul preprocessore Installazione Inno (ISPP). Lo scopo principale del preprocessore è automatizzare le attività in fase di compilazione e ridurre la probabilità di errori di battitura negli script. Ad esempio, puoi dichiarare una variabile ISPP(variabile in fase di compilazione) contenente il nome della tua applicazione, quindi utilizza il valore di questa variabile in più punti del tuo script. Se per qualche motivo in seguito hai bisogno di cambiare il nome della tua applicazione, puoi farlo in un punto del tuo script. Privo di ISPP, dovrai trovare e correggere tutte le parti dello script in cui usi il nome dell'applicazione, ad esempio, AppName, AppVerName, DefaultGroupName eccetera.
Un altro caso d'uso ISPP- questo sta estraendo informazioni sulla versione dell'applicazione dal file EXE e utilizzandolo nelle istruzioni AppVerName nella sezione . Privo di ISPP, dovrai cambiare lo script ogni volta che cambi la versione dell'applicazione.
Inoltre, la suddivisione dello script in parti consente di creare un unico script per diverse versioni dell'applicazione (ad esempio, versione di prova e versione completa).
Quando si utilizza il preprocessore, è importante ricordare che il preprocessore funziona solo in fase di compilazione.
Chiamare il compilatore Inno Setup dalla riga di comando
Non sarà superfluo conoscere la possibilità di compilare la distribuzione dalla riga di comando. La chiamata alla compilation si presenta così:
compila32 /cc
А вот пример:
compil32 /cc "c:\isetup\samples\my script.iss"
Вызов компиляции из командной строки, в данном случае, не скрывает отображение прогресса или сообщений об ошибках. Компилятор возвращает 0, если компиляция прошла успешно, 1, если параметры командной строки переданы неверно, или 2, если компиляция не удалась.
Альтернативный способ компиляции – это использование консольного компилятора ISCC.exe . Вот схема использования компилятора:
iscc [ options]
А вот пример:
iscc "c:\isetup\samples\my script.iss"
Вот основные опции:
/DO
– отключить создание дистрибутива (меняет все параметры Output
в скрипте).
/EO
– включить создание дистрибутива (меняет все параметры Output
в скрипте).
/O
– устанавливает путь, где будет создан дистрибутив (меняет все параметры OutputDir
в скрипте).
/F
– устанавливает имя файла дистрибутива (меняет все параметры OutputBaseFilename
в скрипте).
/S
– настройка параметра SignTool
.
/Q[p]
– для скрытой компиляции (выводятся только сообщения об ошибках, «p
» выводит прогресс).
/?
– для отображения справки.
Вот пример с использованием опций:
iscc /Qp /O"My Output" /F"MyProgram-1.0 " /Sbyparam=$p "c:\isetup\samples\my script.iss"
ISCC возвращает 0, если компиляция прошла успешно, 1, если неправильно указаны параметры или произошла внутренняя ошибка, или 2, если компиляция не удалась.
В заключении об Inno Setup
Рассказать обо всех возможностях Inno Setup не удастся в рамках одной статьи, это очень большой объём информации, поэтому я описал здесь лишь основные моменты. После прочтения вы сможете начать пользоваться этим замечательным инструментом для создания собственных дистрибутивов. В будущем я расскажу про альтернативные пользовательские интерфейсы. А сейчас, пишите ваши комментарии к статье, и я постараюсь ответить на все ваши вопросы.
Большинство пользователей, которые не особо знакомы с компьютером, интересуются, что собой представляет Setup и каковы его функции. Порой ответить на этот вопрос достаточно просто. Однако во многих случаях с этим компонентом связано много проблем на компьютере.
Таким образом, следует разобраться, что такое Setup и понять, что предпринять, если возникли неполадки с данным файлом. Стоит отметить, что это не так уж и сложно, как может показаться на первый взгляд.
Языковые нормы
Прежде всего необходимо понять, что это перевод слова. Довольно часто именно он оказывает помощь пользователю, дает возможность вникнуть в смысл операции. Что представляет собой Setup? Чтобы получить ответ на данный вопрос, следует обратиться к английскому словарю. Это слово в переводе означает «установка» (существительное) или «устанавливать» (глагол). Другими словами, что-то, что выполняет установку на компьютер. Стоит отметить, что без этого компонента трудно представить себе работу операционной системы. Неужели программа Setup настолько важна? Это следует выяснить. Особенно, когда компьютер систематически выдает различные ошибки.
Для компьютера Что такое Setup?
Кроме главного перевода, существуют еще и компьютерная трактовка этого приложения. Она наиболее понятна для современных пользователей. Стоит отметить, что «Сетап» означает программу, предназначенную для установки чего-либо. Основным ее компонентом является Setup.exe. Другими словами, это установочный или исполняемый файл. То, что осуществляется на компьютере после запуска. Чем характеризуется Setup? К примеру, можно выделить среди исполняемых документов различные приложения, игры (их установку), запуск настроек. Также существует и Bios Setup. Это наименование настроек, которые дают возможность работать с компьютером. Другими словами, с популярным всем «Биосом».
Невозможно представить компьютер без «Сетапа». Когда данных файлов нет, пользователь не сможет выполнять разные команды. Невозможно будет и устанавливать контент и программы. Setup.exe присутствует в каждом приложении или игре. Он помогает запустить программу установки, которая позволяет оперативно поставить требуемый контент в операционную систему. Чтобы активировать эту функцию, необходимо два раза совершить щелчок по исполняемому файлу.
Правила обращения
Стоит отметить, что файл Setup.exe нуждается в особом обращении. Особенно, когда речь идет об установке игры, которая скачана из интернета. Следует разобраться, что же помогает в данном непростом деле. Сначала необходимо просто закрыть все сторонние приложения, чтобы избежать возможных сбоев. Далее можно переходить в папку, содержащую исполняемый файл. Для запуска потребуется два раза кликнуть по «Setup.exe». При установленной операционной системе Windows 7 и выше, у пользователя компьютер спросит разрешение начала процесса. На экране всплывет окно с главной информацией об изготовителе-создателе, а также о расположении документа. Там понадобится ответить «Да», чтобы выполнить запуск, или «Нет», чтобы отменить установку чего-либо.
Когда будет выполнено подтверждение, возникнет окно с простой навигацией. Сначала система поприветствует пользователя и оповестит, что будет устанавливаться. Затем нужно придерживаться всех указаний в «Инсталляторе» и завершить процесс. После этого будет установлено определенное приложение. Очень важно никогда не перемещать Setup.exe из корневой папки контента. Также не рекомендуется удалять его и удалять его даже после того, как произойдет установка на компьютер. Это может являться причиной отказа приложений от работы. Стоит отметить, что «Сетап» представляет собой еще и приложение, которое требуется не только для установки чего-либо, а также для запуска. Все ярлыки, содержащиеся на рабочем столе, которые участвуют в активации программ, в результате имеют адрес с расширением «exe».
Процесс
Среди исполняемых процессов можно иногда обнаружить «Сетап». Стоит отметить, что некоторые пользователи настораживаются при этом. Setup работает и следит за выполняемыми и запускаемыми процессами. Таким образом, он выполняет функции некого фильтра. Если его отключить, работа операционной система становится неконтролируемой. Другими словами, невозможно нормально устанавливать и запускать приложения и игры. Поэтому не нужно стараться заниматься данной самодеятельностью. Порой этот процесс занимает много компьютерных ресурсов.
Вирус
Допустим, безопасный ранее «Сетап» способен стать настоящим вирусом. В данном случае он может находиться где-то в операционной системе и шифроваться под обыкновенный исполняемый файл. Такая компьютерная зараза зачастую прикрепляется к приложениям, в которых больше всего возникает необходимость. Вирус активируется постоянно после запуска требуемой программы. Стоит отметить, что антивирус не всегда способен справиться с проблемой. Изначально обнаружить вирус, который замаскирован под «Setup.exe», достаточно тяжело. Если существуют подозрения, что компьютер заражен, придется закрыть все приложения, а также выполнить проверку системы на наличие заразы. В данной ситуации на помощь придет антивирус. Отлично справляются с «Сетапом» следующие программы:
Avast;
Nod32;
Dr.Web.
В случае, когда при выполнении сканирования подтвердились опасения, не нужно спешить удалять угрозу. Необходимо помнить, что после этого не получится запускать приложение, где был вирус. Чтобы произвести эффективное и правильное лечение компьютера, нужно обратиться за помощью к специалистам сервисного центра. Они найдут и обезвредят угрозу, не причинив вреда файлам и документам пользователя.
Шпион
Существует еще один достаточно распространенный вариант развития событий. Речь идет о наличии на компьютере специального шпиона. Он способен шифроваться в таких процессах, как Setup. Данная зараза предназначена для обнаружения и хищения личных данных пользователей. Например, адресов и электронной почты, номеров банковских карт, логинов и паролей от страниц и прочее. Стоит отметить, что не особо приятно выявить на компьютере шпиона, особенно когда он зашифрован под Setup.exe.
Использовать антивирус в данном случае не всегда эффективно. Потребуется дополнительно скачать и установить специальную программу-антишпион. К примеру, SpyHunter. Она пребывает в свободном доступе и проста в использовании. Необходимо запустить приложение, а после этого начать проверку. Когда будут получены результаты, можно смело удалять угрозы. Не нужно забывать и о посещении диспетчера задач и после этого завершить процесс Setup.exe. Далее стоит перезагружать компьютер. «Сетап» вновь окажется в диспетчере, однако пугаться его также не стоит.
Таким образом, в статье был разобран вопрос, что представляет собой Setup. Как можно заметить, что это очень важный файл. Порой он способен принести много проблем. Чтобы избежать неприятностей, следует просто смотреть, что устанавливается на компьютер и скачивается. Рекомендуется всегда запускать только те процессы, которые заслуживают доверие.
Тихая установка - это такой процес, при котором вы тихо-мирно сидите и смотрите на экран, где без вашего участия происходит процесс установки ПО, при условии, что его вообще видно. При этом установщик не беспокоит вас вопросами типа Вы согласны с лицензионным соглашением? . Параметры для установки используются по-умолчанию. т.е. те, которые предлагает установщик при установке ПО обычным способом.
К минусам тихой установки можно отнести всякие панели в обозревателях и ярыки типа E-Bay на рабочем столе, поскольку чаще всего подобные бонусы включены в установку по-умолчанию. Но это скорее исключение, хотя и не редкое. Подробно о тихой установке читайте в этой статье.
На самом деле тихая установка - это очень удобная процедура, которая экономит время и упрощает жизнь системного администратора. Я, например, использую режим silent install после чистой установки ОС.
Режим тихой установки включается при помощи параметров или (как их ещё называют) ключей. Если вы не знаете, что это такое, можете восполнить пробел в знаниях при помощи этой статьи: . Запуск процедуры можно осуществить несколькими способами:
- Из командной строки, используя параметры.
- Аналогично через bat-файл (com-файл).
- Через SFX-архив с файлом конфигурации.
Ключей достаточно много. Какой именно ключ нужно использовать зависит от установщика. Т.е. любая программа, говоря простым языком, это папка с файлами, а запаковывает всё это добро в один файл установки специальный сборщик (система создания установщиков ПО). И вот от того, какой сборщик использовался, зависит - какой ключ будет вызывать режим тихой установки. Наиболее известные системы создания установщиков:
- Install Shield
- WISE Installer
- Inno Setup
Подробнее о ССИ и их ключах можно . Также можно попробовать найти нужный ключ с помощью специального ПО - Universal Silent Switch Finder или почитать документацию на сайте разработчиков той программы, ключи к которой вы ищите.
Во время экспериментов с тихой установкой мне встречались следующие параметры запуска режима тихой установки:
/silent /verysilent /quiet /qb /qn /qr /passive /s /S /qn REBOOT=ReallySuppress /s /v" /qn REBOOT=ReallySuppress
Ключи для отмены перезагрузки:
/norestart /noreboot
Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (Home) версии по заявлениям разработчиков тихой установки нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утверждение не соответствует действительности, поскольку этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе - тоже. И Avast Home не исключение.
Для запуска тихой установки архиватора 7Zip (сборщик NSIS) нужно запустить установщик с ключом /S . Положите установщик 7Zip (7z.exe) в корень диска С. Затем откройте меню Пуск › Выполнить (или + R ) и введите в форму следующую команду:
C:7z.exe /SАрхиватор установится без диалоговых окон и признаков внешней активности.
Однако случается что установщик собран нестандартно и ключей для запуска тихой установки у него просто нет. К таким исключениям относится Avira Antivir. По-тихому можно только распаковать содержимое установщика во временную директорию (минус одно окно), а дальше всё. В этом случае приходится создавать специальные самораспаковывающиеся архивы с файлами инструкций внутри. Тут дело обстоит немного сложнее.
Тихая установка с помощью sfx-архивов
Выше я упомянул о случаях, когда вариант с ключами может не работать. Режим тихой установки может быть просто не предусмотрен разработчиком. В этом случае достаточно часто можно выйти из положения, используя sfx-архивы. Sfx-архив - это само-распаковывающийся архив.
Одно из его достоинств в том, что для его распаковки не нужен архиватор. К тому же с помощью него можно существенно расширить возможности тихой установки, да и возможности установки ПО вообще.
Например, сразу после распаковки sfx-архив позволяет запустить один или несколько распакованных файлов, удалить файлы после выполнения операций и много чего ещё. В этих операциях принимают участие конфигурационные файлы, содержащие команды (например, ).
При помощи команд можно имитировать процесс тихой установки. Многие установщики, в том числе и упомянутый в прошлой статье Avira, могут работать с файлами инструкций (подхватывать их), при условии, что инструкция находится в том же каталоге, что и установщик. Подробнее об инструкциях (командах, указывающихся в конфигах) можно узнать на сайте разработчика программы или на соответствующих форумах.
Чтобы в общих чертах представить конфигурационный файл (для тех, кто не в курсе) ниже приведён пример такого файла для программы Firefox Portable
FirefoxDirectory =Appfirefox ProfileDirectory =Dataprofile SettingsDirectory =Datasettings PluginsDirectory =Dataplugins FirefoxExecutable =firefox.exe AdditionalParameters = LocalHomepage =index.html DisableSplashScreen =false AllowMultipleInstances =false DisableIntelligentStart =false SkipCompregFix =false RunLocally =falseСтоит отметить, что возможности и режимы работы программ со временем могут меняться. Firefox Portable может перестать поддерживать ini-файлы, а будущие версии инсталятора Avira - понимать и подхватывать файлы инструкций. Поэтому при экспериментах стоит ознакомиться с актуальной информацией о возможностях программ, которые вы планируете использовать.
Как sfx-архив может помочь процессу тихой установки, я думаю, мы разобрались. Теперь настало время перейти к практической части. Для создания sfx-архивов я пользуюсь доработанным модулем архиватора 7Zip . Весь процесс создания sfx-архива и запуска при помощи него режима тихой установки описан (разработчика модуля). Я же очень кратко перескажу написанное в ней, пояснив пару моментов.
Сразу отмечу, что цель примера - запаковать установщик программы в sfx-архив таким образом, чтобы он после распаковки автоматически начинал устанавливаться по-тихому. В данной статье в качестве подопытного будет выступать установщик архиватора 7Zip (7z465.exe), хотя можно использовать любой другой, главное знать ключ тихой установки. У установщика 7Zip это ключ /S . Итак, для исполнения задуманного нам понадобится:
- Модуль sfх Олега Щербакова.
- Архиватор 7Zip . Им мы будем запаковывать установщик программы в архив формата ".7z". Архиватор, понятное дело, надо установить в систему.
- Установщик программы (как я отметил выше, в примере я использую 7z465.exe).
- Архив.7z , который мы получим, запаковав установщик программы архиватором 7Zip.
- Конфигурационный файл
config.txt, в котором будут содержаться иструкции "поведения" sfx-архива при распаковке, т.е. в данном примере в нём будет содержаться команда на запуск тихой установки.
Заклинание для создания sfx-архива (вводится в консоли).
Для удобства я положил все ингредиенты в один архив, который вы можете скачать . Также, если скачать вот , можно поменять иконку архива (как это сделать ).
Обратите внимание, кодировка файла конфигурации config.txt должна быть UTF-8.
Итак, получаем после скачивания и распаковки папку со всем этим добром, далее по списку:
- Устанавливаем архиватор 7zip (лежит в папке).
- Запаковываем подопытного 7z465.exe (лежит в папке) в 7z-архив. Получаем на выходе файл 7z465.7z.
- Открываем консоль (Пуск › Выполнить - cmd) и переходим в папку с файлами: cd C:files (пример для папки "files" на диске "С").
- Запускаем в консоли заклинание:
- COPY /b 7zsd.sfx + config.txt + 7z465.7z 7Zip.exe
- 7zsd.sfx - имя модуля sfx.
- config.txt - имя файла конфигурации.
- 7z465.7z - имя запакованного установщика 7z465.exe.
- 7Zip.exe - имя sfx-архива на выходе.
В результате получаем sfx-архив 7Zip.exe, который представляет собой исполняемый файл или самораспаковывающийся архив, внутри которого содержится инструкция config.txt. Содержание инструкции следующее:
;!@Install@!UTF-8! RunProgram ="7z465.exe /S" GUIMode ="2" ;!@InstallEnd@!- ;!@Install@!UTF-8!
;!@InstallEnd@! - строки начала и конца файла инструкции. Это комментарии, их можно удалить. А вот остальные две нужны обязательно. - GUIMode="2" - режим распаковки архива без оповещений (по-тихому).
- RunProgram="7z465.exe /S" - строка инструкции, в которую необходимо вносить изменения в зависимости от того, какой установщик вы используете. В строке прописывается имя установщика, который запаковывается в 7z-архив и который требуется установить по-тихому + ключ тихой установки.
На этом всё. Ознакомившись со статьями Олега (ссылки выше), можно создать различные архивы, выполняющие абсолютно разные задачи. Удачных экспериментов!
Часть 1
Знакомство пользователя с программой чаще всего начинается с запуска инсталлятора. Внешний вид («упаковка») и функциональность продукта определяется разработчиком. Пользователю нужно иметь возможность проконтролировать процесс, выставив нужные параметры установки. Для разработчика же важно, чтобы, как минимум, его программа была установлена корректно, а инсталлятор был совместим с необходимыми платформами.
Решений для создания инсталляторов достаточно много. Чаще всего используется подсистема Windows Installer, которая уже входит в инструментарий операционной системы. Но существуют и альтернативные решения - как платные, так и бесплатные, различной функциональности. Зачастую с их помощью можно создавать пакеты с инсталлятором, не зависящим от Windows Installer.
Путеводитель включает в себя всевозможные системы для создания инсталляторов, основные аспекты их обзора следующие:
- Среда разработки, интерфейс, поддержка сценариев
- Работа с проектом, типы создаваемых пакетов, возможности импорта проектов из других сред разработки
- Пользовательские опции инсталлятора: поддержка языков, профилей и другие опции
- Поддержка расширений
NSIS (Nullsoft Scriptable Install System)
NSIS - бесплатный и широко известный инструментарий для создания инсталляционных пакетов в среде Windows. Отличительные особенности - компактность, масштабируемость, поддержка плагинов и локализаций. Из других возможностей NSIS: поддержка сценариев, различных вариантов установки (включая несколько проектов внутри одного инсталлятора), создание веб-инсталляторов.
Дистрибутивы NSIS создаются на основе сценариев. Переменные, функции полностью контролируют как инсталляцию, так и деинсталляцию продукта. С помощью скриптов можно добавлять файлы и директории, вносить изменения в реестр, редактировать текстовые и двоичные файлы, создавать патчи, управлять переменными среды и даже обращаться к Windows API (посредством расширений).
Синтаксис языка NSIS достаточно прост и удобен для чтения, основная документация к нему доступна . Более того, в комплекте с программой содержится большое количество примеров (файлы формата nsi доступны в папке Examples). Для редактирования nsi-сценариев пригоден любой редактор кода, где без особых усилий можно включить подсветку синтаксиса. Множество задач сразу унифицируется, если использовать специальный плагин для IDE Eclipse, либо . Venis представляет собой интуитивную визуальную среду для создания сценариев.
Удобно работать с NSIS в связке и с другими программами, например, (см. ниже).
Если возникает необходимость расширить возможности инсталлятора, можно добавить определенные функции. Плагины пишутся на C, C++, Delphi или других языках. Готовые примеры расширений доступны . Функции разнообразны: от визуальных эффектов инсталлятора до создания патчей и обращения к Windows API.
Скомпилировать инсталлятор можно с помощью инструмента makensis, предварительно выбрав тип компрессии - ZLib, BZip2 или LZMA. Кроме того, сам по себе инсталлятор занимает немного места - всего 34 КБ.
Графический интерфейс инсталлятора доступен в одном из двух вариантах исполнения - Classic или Modern. Более функциональный Modern (на данный момент используется его версия 2.0) позволяет создавать страницы мастера установки с использованием текста, шрифтов, изображений, диалогами, опциями и др. На данном этапе помощь окажет программа . Она позволяет быстро конструировать интерфейс, а полученный результат сохранять в формат nsdinc, который затем несложно интегрировать в.nsi-скрипт.
Резюме . Среда NSIS уже давно зарекомендовала себя, и в доказательство - , которые используют ее возможности. Несложный язык сценариев, наличие всех необходимых функций, возможность расширения, доступность основных и дополнительных инструментов - за счет всего этого NSIS составляет сильную конкуренцию программам в данной категории.
Inno Setup
Inno Setup - бесплатный инструментарий для создания инсталляторов на базе сценариев. Среди главных особенностей продукта - работа со всеми версиями ОС Windows (Windows 2000 и выше), расширенная поддержка 64-битных приложений, настраиваемые типы установки, встроенный препроцессор и мощный язык сценариев на основе Pascal.
Сценарии имеют структуру, характерную конфигурационным файлам ini-формата, поэтому код вполне хорошо читаем и удобен в редактировании. Документ разделен на секции, и каждая из них отвечает за определенную задачу инсталлятора соответственно. Всего имеется два типа секций - с параметрами и «директива-значение».
Разработчикам, знакомым с Pascal, будет на руку тот факт, что Inno использует «родственный» язык - . Сценарии отвечают за добавление новых опции, создание интерфейса, вызов файлов или библиотек, настраиваемые действия (custom actions) и т. д. В рабочей папке Inno Setup находятся примеры скриптов (также доступны в меню компилятора). По умолчанию в Inno Setup входит компилятор сценариев Compiler IDE. Для быстрого старта рекомендуется также установить Inno Script Studio. Этот редактор проектов входит в редакцию QuickStart Pack, скачать ее можно . Для упрощения задач может быть полезен визуальный редактор сценариев - .
Самый простой вариант создания инсталлятора - обратиться к пошаговому мастеру настройки Inno Script Studio. Здесь указывается информация о продукте, координаты программы, файл лицензии и другие данные, языки локализации, опции компилятора. Впоследствии проект доступен для компиляции, отладки либо модификации полученного сценария в окне редактора.
Редактор Inno Script Studio доступен на русском языке. Значительно проще настраивать проект последовательно, переходя по секциям, а не создавая сценарий с нуля. При добавлении нового элемента изменения вносятся в код сценария, синтаксис подсвечивается, код соответствующим образом разбит на секции (, , …).
Разделы редактора не сгруппированы, но структура вполне узнаваема. Логически их можно разделить следующим образом:
- Содержимое дистрибутива: Файлы, Каталоги, Иконки, Файлы INI, Реестр
- Сообщения и пользовательские сообщения,
- Пользовательские опции: Типы, Компоненты, Задачи, Языки
- Действия: Выполнить, Удалить перед установкой, Выполнить перед деинсталляцией, Удалить после деинсталляции
- Код сценария: Код Паскаля, Этапы предкомпиляции, Этапы посткомпиляции
Русская локализация иногда вводит в заблуждение, как всегда и обстоит с не очень качественным переводом.
Из других особенностей Inno Setup - тихая инсталляция и деинсталляция. Пользователю доступны различные типы установки и локализации на выбор. Установщик может быть зашифрован, содержать цифровую подпись либо защищен паролем. К дистрибутиву может применяться bzip2- или LZMA/LZMA2-компрессия. Интерфейс - в стиле 2000/XP, иных вариантов не предусмотрено.
Резюме . Inno Setup - ближайшая альтернатива NSIS. Позволяет задействовать как мощный язык сценариев, так и удобный и гибко настраиваемый редактор Inno Script Studio, доступный практически «из коробки».
IzPack
Чаще всего, среда разработки инсталлятора закреплена за определенной платформой, и разработчик вынужден использовать различный инструментарий для каждой из них. IzPack решает вопрос кроссплатформенности, используя для своих нужд универсальную среду разработки Java.
Главные особенности IzPack: XML-синтаксис, интеграция с различными инструментами компиляции, простой и гибкий API-интерфейс, возможность локализации.
Среди особенностей инсталляторов, созданных средствами IzPack, - небольшой размер и модульность. В основе дистрибутива лежит XML-документ, где указываются все необходимые спецификации, определяется функциональность продукта. Впоследствии конфигурационный файл обрабатывается любым удобным способом, для этого используется командная строка или . Для наращивания функциональности инсталлятора могут быть задействованы IDE среды, такие как Eclipse, IntelliJ IDEA или Netbeans. Для составления конфигурационного файла подойдет любой редактор кода.
В XML-документе указывается информация о проекте (), интерфейс (), локализации (), файлы (), ресурсы (), панели (), содержимое (- может быть упаковано в raw, gzip, bzip2) и др. Что касается java, в IzPack есть возможность применения действий (custom acrions) и переменных - встроенных, пользовательских и переменных среды (см. и ).
Для создания графического интерфейса инсталлятора предназначены панели. С их помощью определяется внешний вид, экрана приветствия, содержимое, текстовая информация (readme, лицензии), изображения. Поддерживаются различные типы интерактивных элементов (поля, переключатели и т. д.), локализация, включая русскую. Переводу поддается как интерфейс, так и содержание.
Для создания самораспаковывающихся модулей применяется метод 7-Zip SFX, использующий возможности известного архиватора. Для Mac OS также доступна оболочка под названием izpack2app.Кроме того, есть возможность создания веб-инсталлятора, для этих целей присутствует оболочка izpack2jnlp, использующая возможности Java Web Start. IzPack поддерживает опцию тихой установки.
Резюме . IzPack - одна из немногих кроссплатформенных систем для создания инсталляторов. Процесс написания конфигурации, компиляции и отладки удобен за счет интеграции со средами разработки, несложен в освоении. Из недостатков следует отметить значительно устаревший (и не оригинальный - native) вид получаемого инсталлятора.
Excelsior Installer
Excelsior Installer - бесплатная программа, предназначенная для создания инсталляторов и обновлений. Основные особенности - простая интуитивная графическая оболочка, возможность интеграции с Проводником и NSIS.
Создание дистрибутива или обновления производится с помощью упаковщика (Packager). Он содержит пошаговый мастер, содержащий настройки проекта. На основе проекта очень просто скомпилировать восьмишаговый инсталлятор. Согласно описанию, это делается и вовсе двумя кликами мыши, но в обязательном порядке в упаковщике необходимо определить следующие параметры:
- Файлы и папки приложения, ярлыки
- Описание: имя компании, название продукта, версия продукта
Упаковщик состоит из разделов Files (Файлы), Settings (Настройки) и Appearance (Внешний вид). В целом, здесь содержится стандартный перечень опций, отвечающих за создание лицензионного соглашения, выбор инсталляционной директории, ярлыков, ключей реестра и другие параметры. Если изучить продуктов, легко обнаружить следующий функциональный «пробел»: инсталлятор не поддерживает файловые ассоциации, DLL-расширения, элементы управления.
Что касается доступных опций инсталлятора - можно указать профиль установки, в зависимости от привилегий текущего пользователя. Инсталлятор поддерживает локализацию, причем русский язык доступен «из коробки», остальное скачивается отдельно. Возможна автоматическая - тихая - инсталляция без запроса данных у пользователя, после установки - проверка целостности пакета или другие настраиваемые действия.
Как уже было упомянуто, возможна интеграция Excelsior с NSIS. Excelsior Installer, по сути, выступает полноценным GUI для NSIS, настройки проекта экспортируются без проблем.
В ряду с этим участником обзора, стоит выделить еще один родственный продукт - Excelsior Delivery. По большей части функции Excelsior Installer дублируются. Но есть также и несколько дополнительных функций: добавление в систему OLE- и ActiveX-элементов, файловых ассоциаций, библиотек, создание опросов пользователей. Лицензионная версия Excelsior Delivery (стоимостью $99) позволяет также применить к установщику фирменное оформление (branding). Если эта опция неважна, можно скачать некоммерческую версию программы.
Резюме . Excelsior Installer - простая и очень понятная система для создания дистрибутивов, может использоваться как надстройка к NSIS. Обратная сторона медали - усредненная функциональность как Excelsior Installer, так и Delivery.
WiX Toolset
WiX (Windows Installer XML) - бесплатный набор инструментов для создания инсталляторов (Windows Installer) с использованием спецификации XML. Из особенностей: интерфейс командной строки, интеграция с IDE, автоматизация процессов, поддержка базовых и расширенная поддержка Windows Installer.
Ядро WiX составляют компилятор (candle), компоновщик (light), библиотекарь (lit), декомпилятор (dark), бутстраппер инсталляции (burn) и другие утилиты. С их помощью можно создавать пакеты инсталляции.msi, модули слияния.msm, патчей.msp.
Создание инсталлятора состоит из нескольких основных этапов: разработка сценария, его проверка, обработка препроцессором, компиляция и компоновка. Для сборки инсталлятора и автоматизации в целом используется платформа MSBuild. Автоматизация - одно из главных преимуществ WiX при работе с достаточно ресурсоемкими проектами.
Исходный код имеет формат XML (расширение файла wxs). Сценарий описывает все этапы установки, начиная с описания проекта заканчивая действиями после установки. Редактировать его можно в любом редакторе с поддержкой данного формата.
WiX радует своими интеграционными возможностями: WiX Toolset предоставляет интерфейс командной строки. Для работы с проектом в Visual Studio (модуль IntelliSense) потребуется расширение .
В затруднительных ситуациях или при отсутствии времени на изучение сценариев, хорошую службу окажет графическая оболочка . Ее основные преимущества - импорт существующих wxs-проектов, структурирование xml-данных с удобным чтением и навигацией. С помощью мастера также несложно создать инсталляционный файл с нуля. Причем это далеко не единственный подобный инструмент (см. ).
Резюме . В данном случае, многое решает спецификация XML. WiX дает возможность программистам оперировать исходными данными, не прибегая к графической оболочке. В состав WiX входят все необходимые инструменты, вдобавок к этому функциональность инсталлятора может быть улучшена за счет расширений.
Основные функции
- создание единого EXE;
- разбивка установщика на диски;
- несколько типов установки программ (полный, выборочный, минимальный);
- возможность деинсталляции;
- функции сжатия (deflate, bzip2, 7-Zip);
- сравнение информации о версии, замена файлов, которые используются во время установки инсталлятором;
- создание ярлыков в указанном месте;
- запароленные и зашифрованные установки;
- тихая инсталляция и удаление;
- создание реестровых записей, а также INI-файлов.
Достоинства и недостатки
Достоинства:
- бесплатное распространение;
- поддержка русского языка;
- удобный и понятный интерфейс в виде Мастера;
- интегрированный скриптовый движок на языке Pascal;
- возможность многоязычной установки.
Недостатки:
- ручное редактирование скриптов.
Альтернативы
Install Creator. Бесплатное приложение для создания собственных уникальных установщиков различных программ. Дает возможность применения пользовательских иконок, записи значений в реестре, автоматической установки шрифтов, скачивания данных с серверов.
Install Wizard Creator. Простая бесплатная программа, с помощью которой можно создавать инсталляторы приложений. Операция выполняется в несколько шагов: указание названия, добавление файлов, нажатие на кнопку.
Принципы работы
Чтобы создать для программы единый установочный файл, запустите Inno Setup, нажмите на кнопку «Файл», «Новый» и запустите Мастер.
Создание установочного файла
В следующем окне укажите основные данные о приложении: имя, версия, разработчик, домашняя страница и т. д.
Затем в специальное поле необходимо внести exe-файл, запускающий установленное приложение, а также добавить список, включающий все его компоненты и файлы.
Если существует файл лицензии, укажите в следующем окне путь к нему. Также есть возможность создать Readme.txt, написать сообщение либо оставить строки пустыми.
- имя установочного файла;
- место для размещения скомпилированного файла;
- ярлык инсталлятора.
В последнем окошке нужно оставить все, как есть, что позволит упростить скрипт инсталлятора.
После указания всех необходимых параметров программа создаст упаковщик приложения.
Файл приложения
Inno Setup поможет сделать полноценный профессиональный инсталлятор, который будет обладать необходимой защитой и рядом обязательных функций.