Geschrieben von wiesi1 am 17.02.2006, 19:59

Mit dem kostenlosen Nullsoft Install System (http://nsis.sourceforge.net/Main_Page) lassen sich in relativ kurzer Zeit sehr gute Installer und Uninstaller erstellen. Einzige Voraussetzung dazu ist die Kenntnis der Sprache, deren Grundlagen ich in diesem Tutorial erklären möchte.
Zuerst muss NSIS heruntergeladen und installiert werden. Wurde das erfolgreich durchgeführt müsste nach einem Rechtsklick auf eine NSI-Datei eine Option "Compile NSIS Script" erscheinen. Klickt man diese Option an, erstellt NSIS aus der Skript-Datei einen Installer.
Aber zunächst müssen wir eine NSI-Datei erstellen. Dazu startet man einen Editor seiner Wahl, beispielsweise Notepad und erstellt eine neue Datei mit der Endung ".nsi".
Als ersten Befehl gebe ich in dieser Skriptdatei immer den Komprimieralgorithmus an. Meiner Meinung nach ist LZMA der beste, deshalb setzte ich LZMA als Komprimieralgorithmus und erzwinge das Komprimieren mit diesem Algorithmus:
SetCompress force
SetCompressor /SOLID lzma
Anschließend wird der Name des Installers angegeben, beispielsweise folgendermaßen:
Name "Mein Programm 1.1"
Dann erfolgt die Angabe unter welchem Namen der Installer abgespeichert werden soll:
OutFile "MeinProgramm.exe"
Windows-XP-Fetischisten können dann auch noch das XP-Style aktivieren, damit der Installer unter Windows XP netter aussieht:
XPStyle on
Dann sollte ein Standardpfad angegeben werden, in den das Programm installiert werden sollen, beispielsweise:
InstallDir "$PROGRAMFILES\Mein Programm"
Es sollten zumindest die Seite zum Auswählen des Installationsverzeichnisses und eine Seite die den Installationsstatus anzeigt eingebunden werden:
Page directory
Page instfiles
Wer einen Uninstaller will, gibt auch noch folgende Seiten ein:
UninstPage uninstConfirm
UninstPage instfiles
NSIS erlaubt das Installieren einzelner Komponenten, aus diesem Grund gibt es sogenannte Sektionen. In diesem Beispiel haben wir keine Seite zum Auswählen der Komponenten eingebunden, wir brauchen also nur eine Sektion:
Section "Mein Programm"
Anschließend erfolgt das Kopieren der Dateien. Zuerst wird der Ausgabepfad gesetzt, also das ausgewählte Verzeichnis:
SetOutPath $INSTDIR
Das Kopieren der Dateien erfolgt mit dem Befehl File. Die Dateien sollten sich im gleichen Verzeichnis befinden, in dem sich auch die NSI-Datei befindet. Diese Dateien werden vom Compiler automatisch in die EXE-Datei eingebunden, können also nach erfolgreicher Erstellung des Installers eigentlich gelöscht werden:
File "meinProgramm.exe"
File "meineDLL.dll"
File "readme.txt"
Und dann erstellen wir noch einen Uninstaller:
WriteUninstaller "$INSTDIR\uninstaller.exe"
Evtl. will man auch noch Shortcuts im Startmenü hinzufügen:
CreateDirectory "$SMPROGRAMS\Mein Programm"
CreateShortCut "$SMPROGRAMS\Mein Programm\MeinProgramm.lnk" "$INSTDIR\meinProgramm.exe"
CreateShortCut "$SMPROGRAMS\Mein Programm\Uninstall Mein Programm.lnk" "$INSTDIR\uninstaller.exe"
Schließlich kann die Sektion geschlossen werden:
SectionEnd
Dann brauchen wir nur noch einen Uninstaller, der die Dateien wieder löscht:
Section "un.Uninstall"
Delete "$INSTDIR\uninstaller.exe"
Delete "$INSTDIR\meinProgramm.exe"
Delete "$INSTDIR\meineDLL.dll"
Delete "$INSTDIR\readme.txt"
RMDir $INSTDIR
Delete "$SMPROGRAMS\Mein Programm\Mein Programm.lnk"
Delete "$SMPROGRAMS\Mein Programm\Uninstall Mein Programm.lnk"
RMDir "$SMPROGRAMS\Mein Programm"
SectionEnd
So, das Skript kann jetzt kompiliert werden.

Noch viel Spaß beim Installer erstellen wünscht euch WiESi. Ach, übrigens: die Dokumentation von NSIS ist exzellent, einfach mal anschauen.

Bewertung Anzahl
6
75,0 %
3 Bewertungen
5
25,0 %
1 Bewertungen