Register for your free account! | Forgot your password?

Go Back   elitepvpers > Off-Topics > Tutorials
You last visited: Today at 13:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HowTO]Mit NSIS einen Installer erstellen

Discussion on [HowTO]Mit NSIS einen Installer erstellen within the Tutorials forum part of the Off-Topics category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2009
Posts: 920
Received Thanks: 422
Lightbulb [HowTO]Mit NSIS einen Installer erstellen

Mit dem kostenlosen 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:

Code:
SetCompress force
SetCompressor /SOLID lzma
Anschließend wird der Name des Installers angegeben, beispielsweise folgendermaßen:

Code:
Name "Mein Programm 1.1"
Dann erfolgt die Angabe unter welchem Namen der Installer abgespeichert werden soll

Code:
OutFile "MeinProgramm.exe"
Windows-XP-Fetischisten können dann auch noch das XP-Style aktivieren, damit der Installer unter Windows XP netter aussieht:

Code:
XPStyle on
Dann sollte ein Standardpfad angegeben werden, in den das Programm installiert werden sollen, beispielsweise:

Code:
InstallDir "$PROGRAMFILES\Mein Programm"
Es sollten zumindest die Seite zum Auswählen des Installationsverzeichnisses und eine Seite die den Installationsstatus anzeigt eingebunden werden:

Code:
Page directory
Page instfiles
Wer einen Uninstaller will, gibt auch noch folgende Seiten ein

Code:
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:

Code:
Section "Mein Programm"
Anschließend erfolgt das Kopieren der Dateien. Zuerst wird der Ausgabepfad gesetzt, also das ausgewählte Verzeichnis:

Code:
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:

Code:
File "meinProgramm.exe"
File "meineDLL.dll"
File "readme.txt"
Und dann erstellen wir noch einen Uninstaller:

Code:
WriteUninstaller "$INSTDIR\uninstaller.exe"
Eventuell will man auch noch Shortcuts im Startmenü hinzufügen:

Code:
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:

Code:
SectionEnd
Dann brauchen wir nur noch einen Uninstaller, der die Dateien wieder löscht:

Code:
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.

Ich Wünsch euch viel Spaß damit und hoffentlich hat es euch geholfen oder sich nützlich erworben

MFG: FreeZoNe
FreeZoNe1992 is offline  
Thanks
2 Users
Old 07/10/2010, 17:02   #2


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Nice, kann man aber in jeder anderen Sprache auch machen. Trotzdem thx
Jeoni is offline  
Old 07/10/2010, 17:17   #3
 
Sirup55's Avatar
 
elite*gold: 0
Join Date: Nov 2008
Posts: 2,041
Received Thanks: 602
Mit Winrar gehts 100000x schneller und leichter, besser
Sirup55 is offline  
Old 07/10/2010, 17:24   #4
 
Killerzwerg829's Avatar
 
elite*gold: 30
Join Date: Feb 2009
Posts: 1,296
Received Thanks: 451
Quote:
Originally Posted by Sirup55 View Post
Mit Winrar gehts 100000x schneller und leichter, besser
Aber dafür ist es nichts spezielles.
Wenn man ein gutes Programm releasen will, ist ein Winrar-Installer nicht so toll.
Killerzwerg829 is offline  
Old 07/10/2010, 17:47   #5
 
elite*gold: 61
Join Date: Nov 2009
Posts: 7,007
Received Thanks: 2,245
............... is offline  
Reply


Similar Threads Similar Threads
[HowTo]Einfachen Installer erstellen mit NSIS
11/12/2012 - Flyff PServer Guides & Releases - 22 Replies
.
[HowTo] Installer erstellen mit NSIS [erweitert]
06/07/2011 - Flyff Private Server - 8 Replies
Heyho Elitepvpers, ich habe noch kein Thread gefunden in dem es erklärt ist (außer das von Sedrika natürlich, aber mein Tutorial ist anders). Was brauchen wir? - NSIS - Jusikids tolles Tool :P (Wenn ihr lust habt euren Client von Hand einzufügen, dann ladet euch sein Tool nicht :D) Virustotal - NSIS (Es wird zwar gemeldet das ein Trojaner enthalten ist, dies stimmt aber nicht, mir ist bisher noch nichts aufgefallen!)
[HowTo]Einfachen Installer erstellen mit NSIS
04/09/2010 - Metin2 PServer Guides & Strategies - 11 Replies
Wer einen Installer für seinen Server machen will mit NSIS sollte dieses tutorial abarbeiten. Die Credits für diesen Guide gehen an Cross LG Sedrika
Einen Installer erstellen
03/07/2010 - AutoIt - 6 Replies
Hi Com, Ich würde gerne einen Installer erstellen. Er soll die Ordner wo meine Programme drin sind Installieren wenn ich auf einen Button gehe. Wie würde man soetwas machen? Style ist schon fertig ;) Fehlt "nur" noch das script



All times are GMT +1. The time now is 13:57.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.