summaryrefslogtreecommitdiff
path: root/packaging/windows/setup.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/windows/setup.nsi')
-rw-r--r--packaging/windows/setup.nsi237
1 files changed, 237 insertions, 0 deletions
diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi
new file mode 100644
index 00000000..f6dfa798
--- /dev/null
+++ b/packaging/windows/setup.nsi
@@ -0,0 +1,237 @@
+CRCCheck on
+SetCompress off
+SetCompressor /SOLID lzma
+
+;--- (and without !defines ) ---
+!System "%ProgramFiles%\upx\upx.exe --best --crp-ms=999999 --compress-icons=0 --nrv2d tmw.exe"
+
+; HM NIS Edit helper defines
+!define PRODUCT_NAME "The Mana World"
+!define PRODUCT_VERSION "0.0.26"
+!define PRODUCT_PUBLISHER "The Mana World Development Team"
+!define PRODUCT_WEB_SITE "http://themanaworld.org"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\tmw.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+; MUI Settings
+!define MUI_ABORTWARNING
+;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
+!define MUI_ICON "data\icons\tmw.ico"
+;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
+!define MUI_UNICON "data\icons\tmw.ico"
+
+;Language Selection Dialog Settings
+;Remember the installer language
+!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY "Software\The Mana World"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+!define MUI_WELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
+
+; Welcome page
+
+!define MUI_WELCOMEPAGE_TITLE_3LINES
+!insertmacro MUI_PAGE_WELCOME
+; License page
+!insertmacro MUI_PAGE_LICENSE "COPYING"
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_RUN_FUNCTION RunTMW
+!define MUI_FINISHPAGE_SHOWREADME 'notepad.exe "$\"$INSTDIR\README$\""'
+!define MUI_PAGE_CUSTOMFUNCTION_PRE changeFinishBmp
+!define MUI_FINISHPAGE_LINK "Visit TMW website for the latest news, FAQs and support"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://themanaworld.org"
+!insertmacro MUI_PAGE_FINISH
+
+Function RunTMW
+SetOutPath $INSTDIR
+Exec "$INSTDIR\tmw.exe"
+FunctionEnd
+
+Function changeFinishBmp
+!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\setup_finish.bmp"
+FunctionEnd
+
+; Uninstaller pages
+
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!define MUI_FINISHPAGE_TITLE_3LINES
+!insertmacro MUI_UNPAGE_FINISH
+
+;Languages
+!insertmacro MUI_LANGUAGE "English" # first language is the default language
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Catalan"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Kurdish"
+
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+ReserveFile "setup_finish.bmp"
+
+; MUI end ------
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "tmw-${PRODUCT_VERSION}-win32.exe"
+InstallDir "$PROGRAMFILES\The Mana World"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+ InitPluginsDir
+ File /oname=$PLUGINSDIR\setup_finish.bmp "setup_finish.bmp"
+FunctionEnd
+
+Section "Core files (required)" SecCore
+ SectionIn RO
+ SetOutPath "$INSTDIR"
+ SetOverwrite ifnewer
+ CreateDirectory "$SMPROGRAMS\The Mana World"
+ CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World.lnk" "$INSTDIR\tmw.exe"
+ CreateShortCut "$DESKTOP\The Mana World.lnk" "$INSTDIR\tmw.exe"
+ CreateDirectory "$INSTDIR\data"
+ CreateDirectory "$INSTDIR\data\graphics"
+ CreateDirectory "$INSTDIR\data\help"
+ CreateDirectory "$INSTDIR\data\icons"
+ CreateDirectory "$INSTDIR\data\maps"
+ CreateDirectory "$INSTDIR\data\music"
+ CreateDirectory "$INSTDIR\data\sfx"
+ CreateDirectory "$INSTDIR\data\graphics\gui"
+ CreateDirectory "$INSTDIR\data\graphics\images"
+ CreateDirectory "$INSTDIR\data\graphics\items"
+ CreateDirectory "$INSTDIR\data\graphics\tiles"
+ CreateDirectory "$INSTDIR\data\graphics\images\ambient"
+ CreateDirectory "$INSTDIR\docs"
+
+ SetOverwrite ifnewer
+ SetOutPath "$INSTDIR"
+
+ File "tmw.exe"
+ File "*.dll"
+ File "AUTHORS"
+ File "ChangeLog"
+ File "COPYING"
+ File "NEWS"
+ File "README"
+ SetOutPath "$INSTDIR\data\graphics\gui"
+ File "data\graphics\gui\*.png"
+ SetOutPath "$INSTDIR\data\graphics\images\ambient"
+ File /nonfatal "data\graphics\images\ambient\*.png"
+ SetOutPath "$INSTDIR\data\graphics\images"
+ File /x minimap_*.png data\graphics\images\*.png
+ SetOutPath "$INSTDIR\data\graphics\sprites"
+ File /nonfatal /x monster-*.png data\graphics\sprites\*.png
+ SetOutPath "$INSTDIR\data\graphics\tiles"
+ File /nonfatal "data\graphics\tiles\*.png"
+ SetOutPath "$INSTDIR\data\help"
+ File "data\help\*.txt"
+ SetOutPath "$INSTDIR\data\icons\"
+ File "data\icons\tmw.ico"
+ SetOutPath "$INSTDIR\data\music"
+ File /nonfatal "data\music\*.ogg"
+ SetOutPath "$INSTDIR\docs"
+ File "docs\FAQ.txt"
+SectionEnd
+
+Section -AdditionalIcons
+ WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
+ CreateShortCut "$SMPROGRAMS\The Mana World\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
+ CreateShortCut "$SMPROGRAMS\The Mana World\Readme.lnk" "notepad.exe" "$INSTDIR\README"
+ CreateShortCut "$SMPROGRAMS\The Mana World\FAQ.lnk" "$INSTDIR\docs\FAQ.txt"
+ CreateShortCut "$SMPROGRAMS\The Mana World\Uninstall.lnk" "$INSTDIR\uninst.exe"
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\tmw.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\tmw.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+SectionEnd
+
+Function un.onInit
+ !insertmacro MUI_UNGETLANGUAGE
+FunctionEnd
+
+Section Uninstall
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\The Mana World"
+
+ Delete "$INSTDIR\*.*"
+
+ Delete "$SMPROGRAMS\The Mana World\Uninstall.lnk"
+ Delete "$DESKTOP\The Mana World.lnk"
+ Delete "$SMPROGRAMS\The Mana World\The Mana World.lnk"
+ Delete "$SMPROGRAMS\The Mana World\Website.lnk"
+ Delete "$SMPROGRAMS\The Mana World\Readme.lnk"
+ Delete "$SMPROGRAMS\The Mana World\FAQ.lnk"
+
+ RMDir "$SMPROGRAMS\The Mana World"
+
+ RMDir /r "$INSTDIR\data"
+ RMDir /r "$INSTDIR\docs"
+ RMDir /r "$INSTDIR\updates"
+ RMDir "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+ SetAutoClose true
+SectionEnd \ No newline at end of file