Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03378.jsonl.gz/2091

Einleitung
Die meisten Anwendungen kommen mit einem Installations-Programm, das die benötigten Dateien in die richtigen Ordner kopiert, Registry-Einträge erstellt und Deinstallations-Routinen bereitstellt, um die Anwendung (hoffentlich) wieder sauber vom Computer zu entfernen.
Um selber entwickelte Anwendungen mit einem Installer auszustatten gibt es verschiedene Lösungen. Neben kommerziellen Produkten wie Install Shield oder Wise gibt es auch das OpenSource-Installationstool Nullsoft Scriptable Install System (NSIS). In diesem Tutorial zeige ich einige einfache Schritte, um einen Installer mit NSIS zu erstellen.
Im ersten Teil erläutere ich einige Grundlagen und wir erstellen den ersten richtigen Installer. Der zweite Teil behandelt die Themen Uninstall und weitere Dialoge für den Installer. Im dritten Teil gebe ich den Installern ein moderneres Erscheinungsbild.
Download und installation
NSIS kann unter http://nsis.sourceforge.net/Download heruntergeladen werden. Danach startet man die heruntergeladene Datei, welche NSIS installiert. Normalerweise können die vorgegebenen Werte übernommen werden.
Grundlagen
NSIS erzeugt eine Installationsdatei, die alle zu installierenden Dateien und das Installationsscript enthält. Dazu muss man ein NSIS Script erstellen, welches die Installationsschritte beschreibt. Ein NSIS Script ist eine normale Textdatei, die mit jedem Texteditor bearbeitet werden kann. Da NSIS bei Fehlermeldungen die betroffene Zeile angibt, ist es von Vorteil, einen Texteditor zu benutzen, der die Zeilennummern anzeigen kann.
NSIS Script-Dateien haben die Dateiendung .nsi. NSIS Scripts können zur besseren Übersicht auch in mehrere Dateien aufgeteilt werden, indem man Funktionen oder Makros in Header-Dateien auslagert. Die Headerdateien erhalten dann die Dateiendung .nsh und werden mit dem Befehl
!include eingebunden.
Kommentare werden mit einem Semikolon – ‚;‘ – begonnen und enden mit dem Zeilenende. Auch alle Befehle enden mit dem Zeilenende. Wenn sich ein Befehl über mehrere Zeilen erstrecken soll muss am Zeilenende ein Backslash – ‚\‘ – hizugefügt werden.
Hello World!
Als erstes „Installer“-Script erstellen wir das berühmte „Hello World“ Beispiel. Dazu muss in einem Text-Editor folgender Text eingegeben werden:
OutFile "helloworld.exe"
Section "Hello World"
MessageBox MB_OK "Hello World!"
SectionEnd
Dieser Text wird nun unter dem Dateinamen „helloworld.nsi“ abgespeichert. Nun kann der Compiler gestartet werden. Entweder direkt über den Editor (z.B. mit HM NIS Edit) oder über die Kommandozeile mit:
Wenn das Script fehlerfrei kompiliert werden konnte sollte eine Datei mit dem Namen „helloworld.exe“ im Spriptordner erstellt worden sein. Durch Starten dieser Anwendung sollte ein Installer-Fenster erscheinen und davor eine MessageBox mit dem Text „Hello World!“.
Erklärung der benutzten Befehle:
Name
Setzt den Namen des Installers. Normalerweise entspricht er dem Namen der Anwendung, Z.B. „MyApp“. Wenn der Name ein oder mehrere ‚&‘ enthält, muss als zweiter Parameter der Name mit verdoppelten ‚&‘ angegeben werden, z.B.
OutFile
Setzt den Namen der Ausgabe-Datei. Kann auch den Pfad enthalten, z.B.
Section
Startet einen neuen Bereich. Bereiche können auch versteckt werden, optional sein oder für den Uninstaller verwendet werden. Der Bereich wird mit
SectionEnd abgeschlossen.
MessageBox
Zeigt ein Meldungsfenster mit den angegebenen Optinen („Zeige den OK-Button“) und dem angegebenen Text an.
Erster „richtiger“ Installer
Um auch wirklich etwas auf der Harddisk abzulegen braucht es nicht viel mehr:
OutFile "firstinstaller.exe"
InstallDir $PROGRAMFILES\MyFirstInstaller
Page directory
Page instfiles
Section ""
SetOutPath $INSTDIR
File C:\Windows\system32\notepad.exe
SectionEnd
Name und
OutFile kennen wir ja schon aus dem HelloWorld-Installer.
InstallDir setzt den Default-Installationspfad. Mit der Konstanten
$PROGRAMFILES wird der konfigurierte Programme-Ordner (bei einer deutschen Windows-Version „C:\Programme\“, bei einer englischen „C:\Program files“) angesprochen. In diesem Beispiel wird deshalb als Default-Ordner unter einer deutschen Windows-Version „C:\Programme\MyFirstInstaller“ verwendet. Mit dem Befehl
Page geben wir an, welche Seiten im Installer angezeigt werden sollen. In diesem Fall wird zuerst der Dialog für die Installationsordner-Abfrage angezeigt. Danach folgt der eigentliche Installations-Dialog, in welchem die Dateien kopiert werden.
Innerhalb der
Section wird dann mit
SetOutFolder der Ordner für die Installation bestimmt und auch erzeugt. Mit
File werden die Dateien angegeben, die in den Installationsordner extrahiert werden sollen.
Ausblick
Im zweiten Teil werden wir unserem Installer auch die Möglichkeit geben, das Programm wieder zu deinstallieren. Zudem werden wir ein Paar weitere Pages anschauen und dem Benutzer die Möglichkeit geben, bestimmte Teile der Installation auszuwählen. Im dritten Teil werden wir dann ein dem Installer mit dem ModernUI ein moderneres Erscheinungsbild geben.