; Script generated by the HM NIS Edit Script Wizard. ;--------------------- ;Include Modern UI !include "MUI.nsh" ;-------------------------------- ;General !define PRODUCT_NAME "FreeDoko" !define PRODUCT_VERSION "$%VERSION%" !define PRODUCT_AUTHORS "Borg Enders und Diether Knof" !define PRODUCT_PUBLISHER "${PRODUCT_AUTHORS}" !define PRODUCT_WEB_SITE "http://free-doko.sourceforge.net/" ;Name and file Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME}_${PRODUCT_VERSION}-dev.Setup.exe" ;Default installation folder InstallDir "$PROGRAMFILES\${PRODUCT_NAME}-dev" ;Get installation folder from registry if available ;InstallDirRegKey HKCU "Software\Modern UI Test" "" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ;-------------------------------- ;Pages ;!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP ; Instfiles page Page custom InstallPage !insertmacro MUI_PAGE_INSTFILES UninstPage custom un.UninstallPage !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" !include en.nsh !insertmacro MUI_LANGUAGE "German" !include de.nsh !insertmacro MUI_LANGUAGE "French" !include fr.nsh ;-------------------------------- ;Reserve Files ;These files should be inserted before other files in the data block ;Keep these lines before any File command ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA) ReserveFile "FreeDoko.install.ini" !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ReserveFile "FreeDoko.uninstall.ini" ;-------------------------------- ;Variables Var CREATE_DESKTOP_ICON Var ICONS_GROUP ; load the language files ;LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" ;LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf" ;!define LANG_ENGLISH 1033 ;!define LANG_GERMAN 1031 ;!define LANG_FRENCH ??? ;-------------------------------- ;Installer Sections Var WindowsLanguageNumber Var WindowsLanguageNumberLastDigit Function .onInit ;!insertmacro MUI_LANGDLL_DISPLAY ; set the language given by the registry ReadRegStr $WindowsLanguageNumber "HKCU" "Control Panel\International" "Locale" StrCpy $WindowsLanguageNumberLastDigit $WindowsLanguageNumber "" -1 StrCpy $LANGUAGE ${LANG_ENGLISH} StrCmp $WindowsLanguageNumberLastDigit 9 0 +2 ; english StrCpy $LANGUAGE ${LANG_ENGLISH} StrCmp $WindowsLanguageNumberLastDigit 7 0 +2 ; german StrCpy $LANGUAGE ${LANG_GERMAN} StrCmp $WindowsLanguageNumberLastDigit A 0 +2 ; spanish StrCpy $LANGUAGE ${LANG_ENGLISH} StrCmp $WindowsLanguageNumberLastDigit C 0 +2 ; french StrCpy $LANGUAGE ${LANG_FRENCH} FunctionEnd Function InstallPage !insertmacro MUI_INSTALLOPTIONS_EXTRACT "FreeDoko.install.ini" ; set the text !insertmacro MUI_HEADER_TEXT $(LangTitle) $(LangOverview) !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 1" "State" \ $(LangDescription) !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 2" "Text" \ $(LangInstallationDirectory) !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 4" "Text" \ $(LangProgramGroup) !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 6" "Text" \ $(LangCreateSymbolOnDesktop) ; set the default values !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 3" "State" "$PROGRAMFILES\${PRODUCT_NAME}-dev" !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 5" "State" ${PRODUCT_NAME} !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.install.ini" "Field 6" "State" "1" ; show the window !insertmacro MUI_INSTALLOPTIONS_DISPLAY "FreeDoko.install.ini" FunctionEnd Function un.UninstallPage !insertmacro MUI_INSTALLOPTIONS_EXTRACT "FreeDoko.uninstall.ini" ; set the text !insertmacro MUI_HEADER_TEXT $(LangUninstallTitle) $(LangUninstallOverview) !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.uninstall.ini" "Field 1" "State" \ "$(LangUninstallDescription)\r\n\ $INSTDIR\\LiesMich\r\n\ $INSTDIR\\Dateien\r\n\ $INSTDIR\\GPL\r\n\ $INSTDIR\\LGPL\r\n\ $INSTDIR\\bin\\\r\n\ $INSTDIR\\ReadMe.wget\r\n\ $INSTDIR\\ReadMe.7z\r\n\ $INSTDIR\\install.bat\r\n\ $INSTDIR\\update.bat\r\n\ $INSTDIR\\download\\\r\n\ $INSTDIR\\trunk\\\r\n\ $INSTDIR\\manual\\\r\n\ $INSTDIR\\install_dev\\\r\n" !insertmacro MUI_INSTALLOPTIONS_WRITE "FreeDoko.uninstall.ini" "Settings" "NextButtonText" $(LangUninstallButton) ; show the window !insertmacro MUI_INSTALLOPTIONS_DISPLAY "FreeDoko.uninstall.ini" FunctionEnd Section "Installation" ;Read the values from !insertmacro MUI_INSTALLOPTIONS_READ $CREATE_DESKTOP_ICON "FreeDoko.ini" "Field 6" "State" !insertmacro MUI_INSTALLOPTIONS_READ $ICONS_GROUP "FreeDoko.ini" "Field 5" "State" !insertmacro MUI_INSTALLOPTIONS_READ $INSTDIR "FreeDoko.ini" "Field 3" "State" SetOutPath "$INSTDIR" SetOverwrite try File /r "install_dev.release\*" ;ExecWait "$INSTDIR\install.bat" ;Display an icon as the user has wished SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\${PRODUCT_NAME}.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\${PRODUCT_NAME}.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}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstDir" "$INSTDIR" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "IconsGroup" "$ICONS_GROUP" WriteRegStr HKLM "Software\${PRODUCT_NAME}" "Version" "${PRODUCT_VERSION}" WriteRegStr HKLM "Software\${PRODUCT_NAME}" "Directory" "$INSTDIR\trunk" WriteRegStr HKLM "Software\${PRODUCT_NAME}" "Help Directory" "$INSTDIR\manual" SectionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK $(LangUninstallationFinished) FunctionEnd Function un.onInit ;!insertmacro MUI_UNGETLANGUAGE ;MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 $(LangUninstallation) IDYES +2 ;Abort FunctionEnd Section Uninstall ;!insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP ReadRegStr $INSTDIR ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstDir" ReadRegStr $ICONS_GROUP ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "IconsGroup" Delete "$INSTDIR\LiesMich" Delete "$INSTDIR\Dateien" Delete "$INSTDIR\GPL" Delete "$INSTDIR\LGPL" RMDir /r "$INSTDIR\bin" Delete "$INSTDIR\ReadMe.wget" Delete "$INSTDIR\ReadMe.7z" Delete "$INSTDIR\install.bat" Delete "$INSTDIR\update.bat" Delete "$INSTDIR\uninst.exe" RMDir /r "$INSTDIR\download" RMDir /r "$INSTDIR\trunk" RMDir /r "$INSTDIR\manual" RMDir /r "$INSTDIR\install_dev" StrCmp $ICONS_GROUP "" +2 RMDir /r "$SMPROGRAMS\$ICONS_GROUP" StrCmp $CREATE_DESKTOP_ICON "0" +2 Delete "$DESKTOP\${PRODUCT_NAME}.lnk" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\DisplayName" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\UninstallString" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\DisplayIcon" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\DisplayVersion" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\URLInfoAbout" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\Publisher" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\InstDir" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\IconsGroup" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}\DesktopIcon" DeleteRegKey HKLM "Software\${PRODUCT_NAME}\Version" DeleteRegKey HKLM "Software\${PRODUCT_NAME}\Directory" DeleteRegKey HKLM "Software\${PRODUCT_NAME}\Help Directory" SetAutoClose true SectionEnd