summaryrefslogtreecommitdiff
path: root/installer.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'installer.nsi')
-rw-r--r--installer.nsi178
1 files changed, 178 insertions, 0 deletions
diff --git a/installer.nsi b/installer.nsi
new file mode 100644
index 0000000..5ad5c16
--- /dev/null
+++ b/installer.nsi
@@ -0,0 +1,178 @@
+; Script generated by the HM NIS Edit Script Wizard.
+
+; HM NIS Edit Wizard helper defines
+!define PRODUCT_NAME "str-Editor"
+!define PRODUCT_VERSION "0.1"
+!define PRODUCT_PUBLISHER "$\"Die Völker Mittelerdes$\" Modding Crew"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\dotstr_edit.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
+
+SetCompressor lzma
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+; MUI Settings
+!define MUI_ABORTWARNING
+!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
+!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
+
+; Language Selection Dialog Settings
+!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
+!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
+
+; Welcome page
+!insertmacro MUI_PAGE_WELCOME
+; License page
+!insertmacro MUI_PAGE_LICENSE "C:\Dokumente und Einstellungen\skadu42\Desktop\dotstr_edit\LICENSE"
+; Components page
+!insertmacro MUI_PAGE_COMPONENTS
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+; Start menu page
+var ICONS_GROUP
+!define MUI_STARTMENUPAGE_NODISABLE
+!define MUI_STARTMENUPAGE_DEFAULTFOLDER "dotstr-Editor"
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
+!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
+!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!define MUI_FINISHPAGE_RUN "$INSTDIR\dotstr_edit.exe"
+!insertmacro MUI_PAGE_FINISH
+
+; Uninstaller pages
+!insertmacro MUI_UNPAGE_INSTFILES
+
+; Language files
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "German"
+
+; Reserve files
+!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+; MUI end ------
+
+
+!define SHCNE_ASSOCCHANGED 0x8000000
+!define SHCNF_IDLIST 0
+
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "dotstr_edit_install.exe"
+InstallDir "$PROGRAMFILES\dotstr_edit"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Section ".str-Editor" SEC01
+ SectionIn RO
+ SetOutPath "$INSTDIR"
+ SetOverwrite ifnewer
+ File "dist\dotstr_edit.exe"
+ File "dist\icon.ico"
+ File "dist\icon.png"
+ File "dist\library.zip"
+ File "dist\LICENSE"
+ File "dist\python26.dll"
+ File "dist\README.markdown"
+ File "dist\w9xpopen.exe"
+ File "dist\wm-icon.ico"
+ SetOutPath "$INSTDIR\locale"
+ File /r "dist\locale\"
+
+; Shortcuts
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\dotstr-Editor.lnk" "$INSTDIR\dotstr_edit.exe"
+ CreateShortCut "$DESKTOP\dotstr-Editor.lnk" "$INSTDIR\dotstr_edit.exe"
+ !insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+Section "Visual C++ 2008 Redistributable" SEC02
+ SetOutPath "$TEMP"
+ File "redist\vcredist_x86.exe"
+ ExecWait '"$TEMP\vcredist_x86.exe" /q'
+ Delete "$TEMP\vcredist_x86.exe"
+SectionEnd
+
+Section "Associate .str files" SEC03
+ WriteRegStr HKCR ".str" "" "LOTR_BFME_STR.Text"
+ WriteRegStr HKCR "LOTR_BFME_STR.Text" "" "BFME .str File"
+ WriteRegStr HKCR "LOTR_BFME_STR.Text\DefaultIcon" "" "$INSTDIR\icon.ico,0"
+ WriteRegStr HKCR "LOTR_BFME_STR.Text\shell\open\command" "" '"$INSTDIR\dotstr_edit.exe" "%1"'
+ System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
+SectionEnd
+
+Section -AdditionalIcons
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe"
+ !insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\AppMainExe.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\dotstr_edit.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+SectionEnd
+
+; Section descriptions
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} ""
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+Function un.onUninstSuccess
+ HideWindow
+ MessageBox MB_ICONINFORMATION|MB_OK "Sucessfully uninstalled."
+FunctionEnd
+
+Function un.onInit
+!insertmacro MUI_UNGETLANGUAGE
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Do you want to uninstall .str-Editor?" IDYES +2
+ Abort
+FunctionEnd
+
+Section Uninstall
+ !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
+ Delete "$INSTDIR\uninst.exe"
+ Delete "$INSTDIR\wm-icon.ico"
+ Delete "$INSTDIR\w9xpopen.exe"
+ Delete "$INSTDIR\README.markdown"
+ Delete "$INSTDIR\python26.dll"
+ Delete "$INSTDIR\LICENSE"
+ Delete "$INSTDIR\library.zip"
+ Delete "$INSTDIR\icon.png"
+ Delete "$INSTDIR\icon.ico"
+ Delete "$INSTDIR\dotstr_edit.exe"
+
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
+ Delete "$DESKTOP\dotstr-Editor.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\dotstr-Editor.lnk"
+
+ RMDir "$SMPROGRAMS\$ICONS_GROUP"
+ RMDir /r "$INSTDIR\locale"
+ RMDir /r "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+
+ DeleteRegKey HKCR ".str"
+ DeleteRegKey HKCR "LOTR_BFME_STR.Text"
+ System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
+
+ SetAutoClose true
+SectionEnd