27. Apr 2024, 23:09 Hallo Gast.
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge. Hierbei werden gemäß Datenschutzerklärung Benutzername und Passwort verschlüsselt für die gewählte Dauer in einem Cookie abgelegt.


Select Boards:
 
Language:
 


Autor Thema: Modinstaller - Für alles gewappnet  (Gelesen 6942 mal)

LastElb

  • Bibliothekar Bruchtals
  • **
  • Beiträge: 271
Modinstaller - Für alles gewappnet
« am: 28. Mär 2010, 19:42 »
Hallo alle zusammen,
ich habe mich wieder um ein neues Tutorial bemüht. Dieses mal erkäre ich euch, wie ihr mit Hilfe von NSIS einen eigenen Installer bauen könnt.
Hier der Downloadlink
Als PDF anschauen

Der zweite Teil ist jetzt auch online:
Als PDF anschauen

Teil 3:
PDF


Lob und Kritik erwünscht

LastElb
« Letzte Änderung: 1. Aug 2010, 13:41 von LastElb »

Rogash

  • Soldat Gondors
  • ***
  • Beiträge: 1.634
Re: How To: Eigener Modinstaller
« Antwort #1 am: 28. Mär 2010, 19:47 »
Ich schau es mir bei Zeit an, könnte mein Team auch für unsere Mod verwenden, denke ich...
« Letzte Änderung: 28. Mär 2010, 19:55 von Rogash »

Turin Turumbar

  • Administrator
  • Hüter von Anduril
  • *****
  • Beiträge: 3.703
Re: How To: Eigener Modinstaller
« Antwort #2 am: 28. Mär 2010, 19:49 »
Huihuihui, da such ich seit einiger Zeit nach dem Befehl zum Ausführen einer Datei aus dem Installer heraus und find den in deinem Tutorial, super! ;)

Ansonsten ist es ein sehr nettes NSIS Tutorial, wenn ich da meine NSIS Scripte anschaue sind diese immer DEUTLICH umübersichtlicher, als deiner im Tutorial^^

Altaïr

  • Held von Helms Klamm
  • ***
  • Beiträge: 1.228
  • Nichts ist wahr - Alles ist erlaubt
Re: How To: Eigener Modinstaller
« Antwort #3 am: 28. Mär 2010, 19:55 »
Klasse, werds mir mal anschauen.
- Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen. -

Turin Turumbar

  • Administrator
  • Hüter von Anduril
  • *****
  • Beiträge: 3.703
Re: How To: Eigener Modinstaller
« Antwort #4 am: 28. Mär 2010, 19:58 »
Achja eine Sache noch anzumerken:
Dein Installer würde nur auf 32 Bit Systemen funktionieren.
Dies liegt daran, dass die Registry Keys auf einem 64 Bit System einen anderen Pfad haben. Deshalb hab ich für den Edaininstaller einen Script erstellt, welches die Registrykeys kopiert.
@echo off
echo Edain Mod 3.1 Systemueberpruefung by Turin
echo Ueberpruefung ob ein 64 Bit Betriebssystem installiert ist.
 
Set RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
 
REG.exe Query %RegQry% > checkOS.txt
 
Find /i "x86" < CheckOS.txt > StringCheck.txt
 
If %ERRORLEVEL% == 0 (
    Echo Dieses System ist ein 32 Bit System, der Fix wird nicht angewendet
) ELSE (
    Echo Dieses System ist ein 64 Bit System, der Registrierungsfix wird nun angewendet
echo Kopiere Registrierungseintraege...
REG COPY "HKLM\Software\Wow6432Node\Electronic Arts\Electronic Arts\The Battle for Middle-earth II" "HKLM\Software\Electronic Arts\Electronic Arts\The Battle for Middle-earth II" /s /f
REG COPY "HKLM\Software\Wow6432Node\Electronic Arts\Electronic Arts\The Lord of the Rings, The Rise of the Witch-king" "HKLM\Software\Electronic Arts\Electronic Arts\The Lord of the Rings, The Rise of the Witch-king" /s /f
echo Kopieren der Registrierungseintraege erfolgreich.
)
 
Dieses als *.bat Datei speichern und ausführen. Man müsste jetzt also am Anfang noch eine Section machen, die zuerst installiert wird und dieses Script ausgeführt wird. Danach dürften dann erst die Moddateien installiert werden, das Problem hierbei ist wahrscheinlich, dass die Registryeinträge beim Laden des Installers überprüft werden, könnte deswegen also trotzdem zu Problemen kommen.

LastElb

  • Bibliothekar Bruchtals
  • **
  • Beiträge: 271
Re: How To: Eigener Modinstaller
« Antwort #5 am: 28. Mär 2010, 21:05 »
Ich glaube, in diesem Fall ist es egal, weil bei der Installation von SUM die Registry Einträge unter Wow6432Node abgelegt werden. Da der Installer nur im 32bit Modus läuft, kann er auch nur auf die im Wow6432Node zugreifen.
Kann es aber jetzt nicht ausprobieren
« Letzte Änderung: 29. Mär 2010, 08:49 von LastElb »

LastElb

  • Bibliothekar Bruchtals
  • **
  • Beiträge: 271
Re: How To: Eigener Modinstaller
« Antwort #6 am: 29. Mär 2010, 23:00 »
So, nach sehr kurzer Zeit ein sehr kurzer zweiter Teil online.
Link ist oben.

König Legolas

  • Ritter Gondors
  • ***
  • Beiträge: 1.839
  • Menschen, Zwerge,Elben kämpft für Mittelerde! Sieg
Re: How To: Eigener Modinstaller
« Antwort #7 am: 3. Apr 2010, 17:20 »
Hallo,

vielen Dank LastElb :)

Das schaue ich mir mal an, das wird Perfekt für unsere Mod sein  :)

minasmoritz

  • Elronds Berater
  • **
  • Beiträge: 320
Re: How To: Eigener Modinstaller
« Antwort #8 am: 9. Apr 2010, 12:01 »
Ich probirs gleich mal aus weis aber nicht was ich Instalieren soll :D.

PS:Vieleicht irgendeine Mod ohne installer  xD xD.


PPS: Vielen Dank Last Elb  :)
In memoriam Gnomi<br />

LastElb

  • Bibliothekar Bruchtals
  • **
  • Beiträge: 271
Re: How To: Eigener Modinstaller
« Antwort #9 am: 10. Mai 2010, 20:06 »
Hallo,
ich hab noch eine Anmerkung, und zwar:
Um unter Windows Vista und 7 in den Program Files Ordner zu schreiben, benötigt ihr Administratorrechte.
Als braucht ihr folgende Codezeile:
RequestExecutionLevel adminAnsonsten gibt euch der Installer eine Fehlermeldung während der Installation

Erzmagier

  • Bündnisgenosse der Elben und Menschen
  • ***
  • Beiträge: 1.139
Re: How To: Eigener Modinstaller
« Antwort #10 am: 10. Mai 2010, 20:17 »
Werd's mir mal anschauen und versuchen, mir da selbst was zu basteln, auch wenn ich denke, das wird wohl kaum funktionieren. ^^

Sicher mal vielen Dank!
„The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true.“
James Branch Cabell

LastElb

  • Bibliothekar Bruchtals
  • **
  • Beiträge: 271
Re: How To: Eigener Modinstaller
« Antwort #11 am: 16. Mai 2010, 20:27 »
Hallo,
ich hab hier mal den Edain Mod 3.4 als Codebeispiel genommen. Ihr könnt den Code natürlich nach euren Belieben verändern.
BrandingText "(c) LastElb"
SetCompressor lzma

!include "MUI.nsh"


; MUI Settings
!define MUI_ABORTWARNING
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\MUIOrangeVistaTheme\CD-Clean\wizard.bmp"
!define MUI_ICON "${NSISDIR}\Contrib\MUIOrangeVistaTheme\CD-Clean\installer.ico"

!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\MUIOrangeVistaTheme\CD-Clean\wizard-un.bmp"
!define MUI_UNICON "${NSISDIR}\Contrib\MUIOrangeVistaTheme\CD-Clean\uninstaller.ico"
; Könnt ihr auch ausklammern

;--------------------------------
;General

  ;Name and file
  Name "Edain Mod 3.4"
  OutFile "Setup Edain.exe"
  AutoCloseWindow False
  ShowInstDetails show
  InstallDir "$PROGRAMFILES\Edain" ; Einfach irgendwas, weil wird später sowieso geändert
  ;Benutzerkontensteuerung für Vista und 7
  RequestExecutionLevel admin ; Damit ihr in den Programme-Ordner schreiben könnt

;--------------------------------
;Pages

  !insertmacro MUI_PAGE_WELCOME
  !define MUI_LICENSEPAGE_CHECKBOX
  ;!insertmacro MUI_PAGE_LICENSE (license.txt)
  !insertmacro MUI_PAGE_COMPONENTS
  ;!insertmacro MUI_PAGE_DIRECTORY
  !insertmacro MUI_PAGE_INSTFILES
  ;!insertmacro MUI_PAGE_FINISH
  !insertmacro MUI_LANGUAGE "German"

Function .onInit
  SetOutPath $TEMP
  File /oname=spltmp.bmp "C:\Freigabe\GermanSplash.bmp" ;Pfad zum SplashBild. Muss bmp sein
  advsplash::show 1000 600 400 -1 $TEMP\spltmp
  Pop $0 ; $0 has '1' if the user closed the splash screen early,
         ; '0' if everything closed normally, and '-1' if some error occurred.
  Delete $TEMP\spltmp.bmp
  ;!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd

Section "Edain Mod Version 3.4" Sec1
  SectionIn RO ;Das ermöglicht, dass diese Installationsoption nicht abgewählt werden kann
  ReadRegStr $1 HKLM "Software\Electronic Arts\Electronic Arts\The Lord of the Rings, The Rise of the Witch-king" "InstallPath"
  SetOutPath $1
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\__edain_999.big" ; Absolute oder relative Pfade zu Dateien
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\__edain_data.big"
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\__edain_german.big"
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\__edain_maps.big"
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\__edain_texture.big"
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\__edain_w3d.big"
  
  ReadRegStr $0 HKLM "Software\Electronic Arts\Electronic Arts\The Battle for Middle-earth II" "InstallPath"
  SetOutPath $0
  File "H:\Spiele\Schlacht um Mittelerde 2\Edain\Edain 3.4\asset.dat"
  DetailPrint "Installation erfolgreich abgeschlossen."
SectionEnd

Wenn ihr den Code verwendet, müsst ihr die Pfade anpassen!!

Man kann jetzt noch einen Uninstaller hinzufügen, aber das kriegt ihr schon selber hin  ;)
Is ja nich so schwer.
Mit LZMA solid bekommt ihr dann am Ende eine Setupgröße von 586 MB.
Zum Vergleich: Der aktuelle Edaininstaller wiegt 683 MB.

LastElb

  • Bibliothekar Bruchtals
  • **
  • Beiträge: 271
Der perfekte Modinstaller
« Antwort #12 am: 1. Aug 2010, 13:35 »
Ich hab einen neuen Teil geschrieben:
PDF

Kommentare erwünscht

PS: Was haltet ihr von der 404-Site: Klick