1; @gs_name@.app installer script 2; 3!define PRODUCT_NAME "@gs_name@" 4!define PRODUCT_VERSION "@gs_version@" 5!define PRODUCT_PUBLISHER "GNUstep" 6!define PRODUCT_WEB_SITE "http://www.gnustep.org" 7!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\GNUstep" 8!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" 9!define PRODUCT_UNINST_ROOT_KEY "HKLM" 10!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" 11 12; MUI 1.67 compatible ------ 13!include "MUI.nsh" 14 15; MUI Settings 16!define MUI_ABORTWARNING 17!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" 18!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" 19 20; Welcome page 21!insertmacro MUI_PAGE_WELCOME 22; Directory page 23!insertmacro MUI_PAGE_DIRECTORY 24; Start menu page 25var ICONS_GROUP 26!define MUI_STARTMENUPAGE_NODISABLE 27!define MUI_STARTMENUPAGE_DEFAULTFOLDER "GNUstep\Apps" 28!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" 29!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" 30!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" 31!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP 32; Instfiles page 33!insertmacro MUI_PAGE_INSTFILES 34; Finish page 35!define MUI_FINISHPAGE_RUN_NOTCHECKED 36!define MUI_FINISHPAGE_RUN "$INSTDIR\GNUstep\@gs_domain@\Applications\${PRODUCT_NAME}.app\${PRODUCT_NAME}.exe" 37!insertmacro MUI_PAGE_FINISH 38 39; Uninstaller pages 40!insertmacro MUI_UNPAGE_INSTFILES 41 42; Language files 43!insertmacro MUI_LANGUAGE "English" 44 45; Reserve files 46!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS 47 48; MUI end ------ 49 50Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" 51OutFile "@gs_name@-${PRODUCT_VERSION}-setup.exe" 52InstallDir "C:\GNUstep" 53InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" 54ShowInstDetails show 55ShowUnInstDetails show 56Var DOMDIR 57 58Section "Main" SEC01 59 SetOverwrite try 60 StrCpy $DOMDIR "$INSTDIR\GNUstep\@gs_domain@" 61 ;@file_list@ 62SectionEnd 63 64Section Uninstall 65 StrCpy $DOMDIR "$INSTDIR\GNUstep\@gs_domain@" 66 ;@delete_list@ 67 ;@rmdir_list@ 68 69 Delete "$INSTDIR\Uninstall${PRODUCT_NAME}.exe" 70 !insertmacro MUI_STARTMENU_GETFOLDER Application $ICONS_GROUP 71 Delete "$SMPROGRAMS\$ICONS_GROUP\${PRODUCT_NAME}.lnk" 72 Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall\Uninstall${PRODUCT_NAME}.lnk" 73 RMDir "$SMPROGRAMS\$ICONS_GROUP\Uninstall" 74 RMDir "$SMPROGRAMS\$ICONS_GROUP" 75 76 DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" 77 SetAutoClose true 78SectionEnd 79 80Section -AdditionalIcons 81 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application 82 CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" 83 CreateDirectory "$SMPROGRAMS\$ICONS_GROUP\Uninstall" 84 CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\${PRODUCT_NAME}.lnk" "$DOMDIR\Applications\${PRODUCT_NAME}.app\${PRODUCT_NAME}.exe" 85 CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall\Uninstall${PRODUCT_NAME}.lnk" "$INSTDIR\Uninstall${PRODUCT_NAME}.exe" 86 !insertmacro MUI_STARTMENU_WRITE_END 87SectionEnd 88 89Section -Post 90 WriteUninstaller "$INSTDIR\Uninstall${PRODUCT_NAME}.exe" 91 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" 92 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall${PRODUCT_NAME}.exe" 93 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\m.ico" 94 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" 95 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" 96 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" 97SectionEnd 98 99Function un.onUninstSuccess 100 HideWindow 101 MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." 102FunctionEnd 103 104Function un.onInit 105 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 106 Abort 107FunctionEnd 108 109