[HowTo] Ein Installer mit NSIS erstellen

    • [HowTo] Ein Installer mit NSIS erstellen

      Hallo zusammen;D,
      da ich jetzt öfters gesehen habe, das die Pserver admins einen Installer haben wollen, aber nicht hinbekommen, habe ich mir gedacht das ich hier einmal eine gute möglichkeit Vorstelle

      Dies ist auch speziell für den FlyFF Pserver Bereich gedacht, da hier die meisten Leute danach gefragt haben.
      Sollte es der Falsche Bereich sein (zb in Guides allg.) Bitte ich einen Mod es zu verschieben - dankeschön

      ~Index~

      1. Mit welchem Programm den Installer machen?
      2. Was benötige ich?
      3. Wie den Installer machen?


      1. Mit welchem Programm den Installer machen?



      Du fragst dich mit was du den Installer machen sollst? Nun ich empfehle dir den Install Creator von NSIS.
      Er ist gut und weit verbreitet
      Auch gPotato nutzt diesen Installer Creator^^

      Download: Download Nullsoft Scriptable Install System from SourceForge.net


      2. Was benötige ich?



      Für dieses TuT benötigst du deinen Clienten, oder die Sache die du zu einer .exe machen willst, als .zip datei.

      Dann selbstverständlich den NSIS Setup Creator


      3. Wie den Installer machen?



      Kommen wir zum interessantem Teil des HowTo's^^

      Wenn dein Client zu einem zb Client.zip gepackt ist, dann starte NSIS über die Verknüpfung auf dem Desktop/im Startmenü.
      Daraufhin bekommst du dieses Bild:


      Dort machst du alles wie im Bild beschrieben ist

      Nun kommst du zum nächsten Fenster, auch da machst du wieder genau das was auf dem Bild steht:


      Nachdem du auf "Generate" geklickt hast, liest das Programm alle dateien und schreibt sie zu einer .exe Datei Um

      Hertzlichen Glückwunsch!
      Du hast soeben einen Installer geschaffen

      .:Credits:.
      NSIS -> Nullsoft
      Text -> © 2009 by yahama
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • [COLOR="White"]Dabei ist zu sagen:
      Der Guide wurd von mir (yahama) in InGam.. verfasst^^
      Find es nett das du die Credits übernommen hast :)

      Bevor fragen aufkommen:
      Nein, das Zip Verfahren kann KEINE Desktop verknüfung erstellen.

      @Threadersteller:
      Dir fehlen die 2 Bilder ;)
      Wenn dann kopier bitte richtig.

      Bild 1: (gehört zu abschnitt 1)


      Bild2: (gehört zu abschnitt 3)

      (bilder hab ich auch selber gemacht^^)

      mfg
      cross[/COLOR]
    • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]na ja, die bilder lagen eh auf einem space der weg ist (lag auf mein menkisys account -- aber menkisys hat alle free hosting angebote ja gelöscht. Ich bekomm nichma nen backup -_-)

      Wenn ich ma die Bilder wiederfinde (hab die noch iwo) setz ich die nochmal in mein ersten post in diesem thread rein, oder bitte einen Mod die Bilder in den Thread zu editiern.

      mfg
      cross[/SIZE][/COLOR][/FONT]
    • Macht es lieber mit GUI NSIS ist einfacher zu bedienen.

      Da ich mal nicht so bin hier mal ein Installer Script.
      Dementsprechend abändern und ihr werdet nen funkenden Installer erhalten.

      Brainfuck-Quellcode

      1. ;Product Info
      2. Name "Dark Freedom" ;Define your own software name here
      3. !define PRODUCT "Dark Freedom" ;Define your own software name here
      4. !define VERSION "1.0" ;Define your own software version here
      5. CRCCheck On
      6. ; Script create for NSIS
      7. !include "MUI.nsh"
      8. !define HAVE_UPX
      9. !ifdef HAVE_UPX
      10. !packhdr tmp.dat "upx -9 tmp.dat"
      11. !endif
      12. SetCompressor /FINAL /SOLID lzma
      13. ;--------------------------------
      14. ;Configuration
      15. OutFile "Dark Freedom Setup.exe"
      16. BRANDINGTEXT "© Dark Freedom 2010"
      17. ;Folder selection page
      18. InstallDir "$PROGRAMFILES\${PRODUCT}"
      19. ;Remember install folder
      20. InstallDirRegKey HKCU "Software\${PRODUCT}" ""
      21. ;--------------------------------
      22. ;Pages
      23. !insertmacro MUI_PAGE_LICENSE "C:\Dokumente und Einstellungen\Alucard\Desktop\help.txt"
      24. !insertmacro MUI_PAGE_WELCOME
      25. !insertmacro MUI_PAGE_DIRECTORY
      26. !insertmacro MUI_PAGE_INSTFILES
      27. !insertmacro MUI_PAGE_FINISH
      28. !insertmacro MUI_UNPAGE_CONFIRM
      29. !insertmacro MUI_UNPAGE_INSTFILES
      30. !define MUI_ABORTWARNING
      31. !define MUI_HEADERBITMAP "${NSISDIR}\Contrib\Icons\modern-header.bmp"
      32. !define MUI_SPECIALBITMAP "${NSISDIR}\Contrib\Icons\modern-wizard.bmp"
      33. ;--------------------------------
      34. ;Language
      35. !insertmacro MUI_LANGUAGE "German"
      36. ;--------------------------------
      37. ICON "DFIcon.ico"
      38. Section "section_1" section_1
      39. SetOutPath "$INSTDIR"
      40. FILE /r "C:\Dokumente und Einstellungen\Alucard\Desktop\Neuer Ordner (2)\*.*"
      41. CreateShortCut "$DESKTOP\Dark Freedom.lnk" "$INSTDIR\Flyff.exe" ""
      42. SectionEnd
      43. Section Shortcuts
      44. CreateDirectory "$SMPROGRAMS\Dark Freedom"
      45. WriteIniStr "$INSTDIR\Dark Freedom.url" "InternetShortcut" "URL" "http://darkfreedom.cc"
      46. CreateShortCut "$SMPROGRAMS\Dark Freedom\Dark Freedom Forum.lnk" "$INSTDIR\Dark Freedom.url" "" "$INSTDIR\Dark Freedom.url" 0
      47. CreateShortCut "$SMPROGRAMS\Dark Freedom\Dark Freedom.lnk" "$INSTDIR\Flyff.exe" ""
      48. SectionEnd
      49. Section Uninstaller
      50. CreateShortCut "$SMPROGRAMS\Dark Freedom\Uninstall.lnk" "$INSTDIR\uninst.exe" "" "$INSTDIR\uninst.exe" 0
      51. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "DisplayName" "${PRODUCT} ${VERSION}"
      52. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "DisplayVersion" "${VERSION}"
      53. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "URLInfoAbout" "http://darkfreedom.cc"
      54. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "Publisher" "Alucard"
      55. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "UninstallString" "$INSTDIR\Uninst.exe"
      56. WriteRegStr HKCU "Software\${PRODUCT}" "" $INSTDIR
      57. WriteUninstaller "$INSTDIR\Uninst.exe"
      58. SectionEnd
      59. Function un.onUninstSuccess
      60. HideWindow
      61. MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) wurde erfolgreich deinstalliert.."
      62. FunctionEnd
      63. Function un.onInit
      64. MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie $(^Name) und alle seinen Komponenten deinstallieren?" IDYES +2
      65. Abort
      66. FunctionEnd
      67. Section "Uninstall"
      68. Delete "$INSTDIR\*.*"
      69. Delete "$DESKTOP\Dark Freedom.lnk"
      70. Delete "$SMPROGRAMS\Dark Freedom\*.*"
      71. RmDir "$SMPROGRAMS\Dark Freedom"
      72. DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Dark Freedom"
      73. DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom"
      74. RMDir /r /REBOOTOK "$INSTDIR"
      75. RMDir "$INSTDIR"
      76. SectionEnd
      77. Function .onInit
      78. SetOutPath $TEMP
      79. File /oname=spltmp.bmp "my_splash.bmp"
      80. ; optional
      81. ; File /oname=spltmp.wav "my_splashshit.wav"
      82. advsplash::show 1000 600 400 -1 $TEMP\spltmp
      83. Pop $0 ; $0 has '1' if the user closed the splash screen early,
      84. ; '0' if everything closed normally, and '-1' if some error occurred.
      85. Delete $TEMP\spltmp.bmp
      86. ; Delete $TEMP\spltmp.wav
      87. FunctionEnd
      88. ;eof
      Alles anzeigen
    • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]

      KevinsComputer;83321 schrieb:

      Macht es lieber mit GUI NSIS ist einfacher zu bedienen.

      Da ich mal nicht so bin hier mal ein Installer Script.
      Dementsprechend abändern und ihr werdet nen funkenden Installer erhalten.

      Brainfuck-Quellcode

      1. ;Product Info
      2. Name "Dark Freedom" ;Define your own software name here
      3. !define PRODUCT "Dark Freedom" ;Define your own software name here
      4. !define VERSION "1.0" ;Define your own software version here
      5. CRCCheck On
      6. ; Script create for NSIS
      7. !include "MUI.nsh"
      8. !define HAVE_UPX
      9. !ifdef HAVE_UPX
      10. !packhdr tmp.dat "upx -9 tmp.dat"
      11. !endif
      12. SetCompressor /FINAL /SOLID lzma
      13. ;--------------------------------
      14. ;Configuration
      15. OutFile "Dark Freedom Setup.exe"
      16. BRANDINGTEXT "© Dark Freedom 2010"
      17. ;Folder selection page
      18. InstallDir "$PROGRAMFILES\${PRODUCT}"
      19. ;Remember install folder
      20. InstallDirRegKey HKCU "Software\${PRODUCT}" ""
      21. ;--------------------------------
      22. ;Pages
      23. !insertmacro MUI_PAGE_LICENSE "C:\Dokumente und Einstellungen\Alucard\Desktop\help.txt"
      24. !insertmacro MUI_PAGE_WELCOME
      25. !insertmacro MUI_PAGE_DIRECTORY
      26. !insertmacro MUI_PAGE_INSTFILES
      27. !insertmacro MUI_PAGE_FINISH
      28. !insertmacro MUI_UNPAGE_CONFIRM
      29. !insertmacro MUI_UNPAGE_INSTFILES
      30. !define MUI_ABORTWARNING
      31. !define MUI_HEADERBITMAP "${NSISDIR}\Contrib\Icons\modern-header.bmp"
      32. !define MUI_SPECIALBITMAP "${NSISDIR}\Contrib\Icons\modern-wizard.bmp"
      33. ;--------------------------------
      34. ;Language
      35. !insertmacro MUI_LANGUAGE "German"
      36. ;--------------------------------
      37. ICON "DFIcon.ico"
      38. Section "section_1" section_1
      39. SetOutPath "$INSTDIR"
      40. FILE /r "C:\Dokumente und Einstellungen\Alucard\Desktop\Neuer Ordner (2)\*.*"
      41. CreateShortCut "$DESKTOP\Dark Freedom.lnk" "$INSTDIR\Flyff.exe" ""
      42. SectionEnd
      43. Section Shortcuts
      44. CreateDirectory "$SMPROGRAMS\Dark Freedom"
      45. WriteIniStr "$INSTDIR\Dark Freedom.url" "InternetShortcut" "URL" "http://darkfreedom.cc"
      46. CreateShortCut "$SMPROGRAMS\Dark Freedom\Dark Freedom Forum.lnk" "$INSTDIR\Dark Freedom.url" "" "$INSTDIR\Dark Freedom.url" 0
      47. CreateShortCut "$SMPROGRAMS\Dark Freedom\Dark Freedom.lnk" "$INSTDIR\Flyff.exe" ""
      48. SectionEnd
      49. Section Uninstaller
      50. CreateShortCut "$SMPROGRAMS\Dark Freedom\Uninstall.lnk" "$INSTDIR\uninst.exe" "" "$INSTDIR\uninst.exe" 0
      51. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "DisplayName" "${PRODUCT} ${VERSION}"
      52. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "DisplayVersion" "${VERSION}"
      53. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "URLInfoAbout" "http://darkfreedom.cc"
      54. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "Publisher" "Alucard"
      55. WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom" "UninstallString" "$INSTDIR\Uninst.exe"
      56. WriteRegStr HKCU "Software\${PRODUCT}" "" $INSTDIR
      57. WriteUninstaller "$INSTDIR\Uninst.exe"
      58. SectionEnd
      59. Function un.onUninstSuccess
      60. HideWindow
      61. MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) wurde erfolgreich deinstalliert.."
      62. FunctionEnd
      63. Function un.onInit
      64. MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie $(^Name) und alle seinen Komponenten deinstallieren?" IDYES +2
      65. Abort
      66. FunctionEnd
      67. Section "Uninstall"
      68. Delete "$INSTDIR\*.*"
      69. Delete "$DESKTOP\Dark Freedom.lnk"
      70. Delete "$SMPROGRAMS\Dark Freedom\*.*"
      71. RmDir "$SMPROGRAMS\Dark Freedom"
      72. DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Dark Freedom"
      73. DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Dark Freedom"
      74. RMDir /r /REBOOTOK "$INSTDIR"
      75. RMDir "$INSTDIR"
      76. SectionEnd
      77. Function .onInit
      78. SetOutPath $TEMP
      79. File /oname=spltmp.bmp "my_splash.bmp"
      80. ; optional
      81. ; File /oname=spltmp.wav "my_splashshit.wav"
      82. advsplash::show 1000 600 400 -1 $TEMP\spltmp
      83. Pop $0 ; $0 has '1' if the user closed the splash screen early,
      84. ; '0' if everything closed normally, and '-1' if some error occurred.
      85. Delete $TEMP\spltmp.bmp
      86. ; Delete $TEMP\spltmp.wav
      87. FunctionEnd
      88. ;eof
      Alles anzeigen


      klar ist die GUI ne möglichkeit ;)
      Doch ein TOTALER Quereinsteiger hat damit erstmal probleme - Und genau dahin zielte MEIN Guide - der hier schlecht geleecht ist ;)

      Ich persögnlich bevorzuge auch die GUI :)

      mfg
      cross[/SIZE][/COLOR][/FONT]