Das Inno Setup-Skript ist eine Textdatei mit der Erweiterung .iss. Das Skript steuert alle Aspekte der Installation. Es gibt an, welche Dateien wo installiert werden sollen, welche Menüs und Ordner erstellt werden sollen und welche Ressourcen die zu installierende Anwendung benötigt.
Skriptdateien sind Textdateien, die mit Inno Setup oder einem beliebigen Texteditor erstellt und bearbeitet werden können. Die Software ermöglicht es uns, die iss-Skriptdatei zu kompilieren, und standardmäßig weist sie nach dem Kompilieren den Namen Setup.exe zu. Daher verfügen wir über ein vollständiges Programm, das zum Verteilen und Ausführen der Installation bereit ist.
Um ein einfaches Beispiel zu starten, starten wir es in diesem Fall unter Linux mit Wine und dem Assistenten.
Als nächstes beschreiben wir die Daten der Anwendung, den Namen der Anwendung, die Version, das Unternehmen, das die Entwicklung betreibt, sowie die Website.
Der nächste Schritt besteht darin, zu konfigurieren, in welchem Ordner die Anwendung installiert wird. Standardmäßig ist dies Programmordner oder Programmdateien. In Windows und Linux wird dieser Ordner mit Wine gefunden. Wenn kein Installationsordner vorhanden ist, wird er von der Software erstellt.
Dann müssen wir unsere ausführbare Datei und ihre Abhängigkeiten oder Bibliotheken zuweisen. Hier nehmen wir als Beispiel eine Software, die wir mit Java entwickelt und mit Launch4j im Tutorial Netbeans und SQLite in drei Ebenen – Teil II – konvertiert haben
Der nächste Schritt besteht darin, zu konfigurieren, in welches Menü die Anwendung integriert wird und welche Symbole angezeigt werden. Auf dem nächsten Bildschirm werden wir aufgefordert, vor und nach der Installation die txt- oder html-Dateien mit den Lizenzinformationen, der Hilfe und dem Text hinzuzufügen.
Die Inno Setup-Skripte sind in Abschnitte unterteilt. Jeder Abschnitt steuert einen anderen Aspekt der Installation. Ein Abschnitt beginnt mit der Angabe des Abschnittsnamens in Klammern []. In jedem Abschnitt werden die auszuführenden Aktionen angegeben.
Zuletzt werden wir die Icons hinzufügen und das Layout der Menüs konfigurieren. Am Ende erstellen wir das Skript und sollten es über das Menü Build> Compile kompilieren. Dadurch wird ein Ausgabeordner mit der Datei setup.exe erstellt, bei der es sich um das Installationsprogramm handelt.
Hier sehen wir das Installationsprogramm, das unter Linux on Wine ausgeführt wird. Daher funktioniert es sowohl unter Windows als auch unter Linux.
Lassen Sie uns das generierte Skript analysieren
In define konfigurieren wir die Anwendungsdaten über die Direktiven #define
#define MyAppName "Tutorials" #define MyAppVersion "2.0" #define MyAppPublisher "Mein Start" #define MyAppURL "http://www.mycompany.com/" #define MyAppExeName "mycompany.exe"
Der Abschnitt [Setup] enthält globale Parameter, die vom Installations- und Deinstallationsprogramm verwendet werden. Richtlinien können als technischer Support-Link oder als Software-Update angepasst werden.
[Setup] AppId = {{3502D097-DF67-49DD-B98B-59F0866126BB} AppName = {# MyAppName} AppVersion = {# MyAppVersion} ; AppVerName = {# MyAppName} {#MyAppVersion} AppPublisher = {# MyAppPublisher} AppPublisherURL = {# MyAppURL} AppSupportURL = {# MyAppURL} AppUpdatesURL = {# MyAppURL} DefaultDirName = {pf} {# MyAppName} DefaultGroupName = {# MyAppName} OutputBaseFilename = setup Kompression = lzma SolidCompression = ja
Im Abschnitt [Languages] definieren wir die Installationssprachen. Hier sehen wir, dass wir Englisch und Spanisch verwenden, die direkt aus dem Ordner Languages des InnoSetup stammen:
[Sprachen] Name: "englisch"; MessagesFile: "compiler: Default.isl" Name: "spanisch"; MessagesFile: "Compiler: Languages Spanish.isl"
Der Abschnitt [Aufgaben] ist optional. Definiert alle anpassbaren Konfigurationsaufgaben, die der Benutzer während der Installation ausführt. Erstellen Sie Menüs, Symbole und verknüpfen Sie Dateierweiterungen mit unserer Anwendung.
[Aufgaben] Name: "desktopicon"; Beschreibung: "{cm: CreateDesktopIcon}"; Gruppenbeschreibung: "{cm: AdditionalIcons}"; Flags: nicht markiert
Der Parameter Flags oder Flag ist eine Reihe zusätzlicher Optionen, die durch Leerzeichen getrennt sind. Die folgenden Optionen sind kompatibel.
checkablealone: Gibt an, dass beim Destillieren einer Komponente alle Abhängigkeiten destilliert werden.
checkedonce: Gibt an, dass die Installation einer Komponente deaktiviert werden muss, wenn das Installationsprogramm feststellt, dass bereits eine frühere Version derselben Anwendung installiert ist, sodass der Benutzer entscheidet, ob diese ersetzt werden soll oder nicht.
restart: Gibt an, dass der Benutzer nach Abschluss einer Aufgabe aufgefordert wird, das System nach Abschluss der Installation neu zu starten. Beispiel, wenn ein Server oder eine Datenbank installiert ist und neu gestartet werden muss, damit sie verfügbar ist.
nicht markiert: Gibt an, dass die Option destilliert und vom Benutzer ausgewählt werden muss.
Der Abschnitt [Dateien] definiert die Konfiguration und Spezifikationen für jede Datei unserer Anwendung. Das Flag isreadme gibt an, dass die Datei schreibgeschützt ist, während onlyifdoesntexist angibt, dass die Datei kopiert wird, solange sie nicht vorhanden ist.
[Dateien] Quelle: "Z: my company dist mycompany.exe"; DestDir: "{app}"; Fahnen: Quelle: "Z: meine Firma dist help.txt"; DestDir: "{app}"; Fahnen: isreadme Quelle: "Z: my company dist dbempresa.sqlite"; DestDir: "{app}"; Flags: onlyifdoesntexist
Der Abschnitt [Symbole] zeigt die Symbole der einzelnen Menüs Desktop oder Direktzugriff an
[Icons] Name: "{group} {# MyAppName}"; Dateiname: "{app} {# MyAppExeName}" Name: "{commondesktop} {# MyAppName}"; Dateiname: "{app} {# MyAppExeName}"; Aufgaben: desktopicon
Der Abschnitt [Ausführen] ist optional und gibt an, welche Programme ausgeführt werden sollen, nachdem die Software installiert wurde, aber bevor das Installationsprogramm abgeschlossen ist. Hier können wir gegebenenfalls Abhängigkeiten installieren, z. B. Net Framework oder Java SE Runtime Environment
[Ausführen] Dateiname: "{app} {# MyAppExeName}"; Beschreibung: "{cm: LaunchProgram, {# StringChange (MyAppName, '&', '&&')}}"; Flags: nowait postinstall
Einige Flags, die dieser Abschnitt unterstützt, sind:
nowait: Gibt an, dass das Installationsprogramm nicht auf den Abschluss der Ausführung des Prozesses wartet, bevor mit der nächsten [Ausführen] -Aufgabe fortgefahren oder die Installation abgeschlossen wird.
postinstall: Weist das Installationsprogramm an, ein Kontrollkästchen zu erstellen, um darauf hinzuweisen , dass die Installation der Anwendung oder einer bestimmten Komponente abgeschlossen ist. Der Benutzer kann dieses Kontrollkästchen deaktivieren oder aktivieren und daher auswählen, ob diese Aufgabe verarbeitet werden soll oder nicht. Aus diesem Grund haben wir bereits einige Komponenten installiert und möchten diese nicht erneut installieren.
Weitere Abschnitte, die wir über den Inno Setup-Skriptcode konfigurieren können, sind:
Der Abschnitt [Types] in diesem Abschnitt ist optional. Hier definieren wir die Installation bestimmter Komponenten anhand der Konfigurationstypen. Diese werden dann auf der Seite Komponenten des Assistenten auswählen angezeigt. Während der Kompilierung wird eine Reihe von Standardkonfigurationstypen erstellt, wenn Sie die Komponenten in einem Abschnitt [Components] definieren. Anschließend weisen wir jeder Komponente einen Typ zu.
Der Abschnitt [Types] befindet sich unterhalb des Abschnitts [Setup]. Ein Vorteil ist, dass wir benutzerdefinierte Typen für Installationsoptionen erstellen können. Am bekanntesten ist die vollständige oder vollständige und angepasste Installation.
Über die Typen erstellen wir einen Parameter mit seinem Namen und weisen ihm eine Beschreibung zu. Anschließend erstellen wir Beschriftungen für Komponenten, denen wir eine Beschreibung oder einen Namen zuweisen, und welche Installationsart entspricht beispielsweise der Software, die in einer beliebigen Installationsart installiert wird, jedoch nicht Mithilfe der Hilfe können je nach Installationstyp verschiedene Komponenten installiert werden.
[Typen] Name: "pro"; Beschreibung: "Professionelle Installation" Name: "KMU"; Beschreibung: "Pymes Installation" Name: "win"; Beschreibung: "Windows Installation" Name: "lin"; Beschreibung: "Linux Installation" Name: "persönlich"; Beschreibung: "Benutzerdefinierte Installation"; Fahnen: iscustom [Komponenten] Name: "Programm"; Beschreibung: "Tutorials"; Typen: Pro-Personal-KMU; Name: "sqlitewin"; Description: "Sqlite db"; Typen: Pro Win Name: "sqlitelin"; Description: "Sqlite db"; Arten: pro lin Name: "help.htm"; Beschreibung: "Help"; Typen: Pro [Dateien] Quelle: "Z: my company dist mycompany.exe"; DestDir: "{app}"; Komponenten: Programm Quelle: "Z: mycompany dist sqlite.dllt; DestDir:" {app} "; Komponenten: sqlitewin Quelle: "Z: my company dist sqlite.so"; DestDir: "{app}"; Komponenten: sqlitelin
Damit wir die Installation unserer Anwendung anpassen können, kann das Skript bei Bedarf komplexer programmiert werden.