; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "QCG-Icon" !define PRODUCT_VERSION "1.1.8" !define PRODUCT_PUBLISHER "PSNC" !define PRODUCT_WEB_SITE "http://www.qoscosgrid.org/trac/qcg-icon" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\qcg-icon" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" ; MUI ------ !include "MUI2.nsh" ; MUI Settings !define MUI_ABORTWARNING ; !define MUI_ICON "resources\qcg-icon-128.ico" !define MUI_ICON "resources\qcg-logo-stones.ico" !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "dist_static\resources\qcg-icon-header.bmp" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; from: http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html ; " MUI_FINISHPAGE_SHOWREADME_FUNCTION function ; Call a function instead of showing a file (define MUI_FINISHPAGE_SHOWREADME without parameters). ; You can use the function to show multiple files or you can change the checkbox name and use it for other things. " ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\qcg-icon.exe" !define MUI_FINISHPAGE_SHOWREADME !define MUI_FINISHPAGE_SHOWREADME_TEXT "$(addToAutostart)" !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED !define MUI_FINISHPAGE_SHOWREADME_FUNCTION "EnableAutostart" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "English" LangString addToAutostart ${LANG_POLISH} "Uruchamiaj automatycznie z systemem" LangString addToAutostart ${LANG_ENGLISH} "Enable autostart" ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "C:\${PRODUCT_NAME}-${PRODUCT_VERSION}.exe" InstallDir "$PROGRAMFILES\qcg-icon" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show LangString deinstallOld ${LANG_POLISH} "Inna wersja programu ${PRODUCT_NAME} jest już zainstalowana w systemie. $\n$\nAby usunąć poprzednią wersję kliknij 'OK'. Aby zrezygnować kliknij 'Anuluj'." LangString deinstallOld ${LANG_ENGLISH} "The another version of ${PRODUCT_NAME} is already installed. $\n$\nClick 'OK' to remove the previous version or 'Cancel' to cancel this upgrade." LangString closeOld ${LANG_POLISH} "Inna instancja programu ${PRODUCT_NAME} jest uruchomiona. $\n$\nPrzed instalacją należy ją zamknąć." LangString closeOld ${LANG_ENGLISH} "The another instance of ${PRODUCT_NAME} is running. $\n$\nIt should be closed before this upgrade." Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FindProcDLL::FindProc "${PRODUCT_NAME}.exe" IntCmp $R0 1 0 notRunning MessageBox MB_OK|MB_ICONEXCLAMATION "$(closeOld)" /SD IDOK Abort notRunning: ReadRegStr $R0 HKLM \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" \ "UninstallString" StrCmp $R0 "" done MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \ "$(deinstallOld)" \ IDOK uninst Abort ;Run the uninstaller uninst: ClearErrors ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file IfErrors no_remove_uninstaller done ;You can either use Delete /REBOOTOK in the uninstaller or add some code ;here to remove the uninstaller. Use a registry key to check ;whether the user has chosen to uninstall. If you are using an uninstaller ;components page, make sure all sections are uninstalled. no_remove_uninstaller: done: FunctionEnd Function "EnableAutostart" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "QCG-Icon" "$INSTDIR\qcg-icon.exe" FunctionEnd Section "main" SEC01 SetOutPath "$INSTDIR\certs" SetOverwrite try File "dist_static\certs\*" SetOutPath "$INSTDIR\lib" File "dist\lib\activation-1.1.jar" File "dist\lib\avalon-framework-4.1.3.jar" File "dist\lib\cog-jglobus-CURRENT.jar" File "dist\lib\cog-url-CURRENT.jar" File "dist\lib\commons-logging-1.1.jar" File "dist\lib\cryptix-asn1-CURRENT.jar" File "dist\lib\cryptix-CURRENT.jar" File "dist\lib\cryptix32-CURRENT.jar" File "dist\lib\JarSync-0.3.jar" File "dist\lib\jaxb-api-2.1.jar" File "dist\lib\jaxb-impl-2.1.6.jar" File "dist\lib\jaxws-api-2.1.jar" File "dist\lib\jaxws-rt-2.1.3.jar" File "dist\lib\jce-jdk13-131-CURRENT.jar" File "dist\lib\jgss-CURRENT.jar" File "dist\lib\jsr181-api-1.0-MR1.jar" File "dist\lib\jsr250-api-1.0.jar" File "dist\lib\junit-3.8.jar" File "dist\lib\log4j-1.2.12.jar" File "dist\lib\logkit-1.0.1.jar" File "dist\lib\mimepull-1.1.jar" File "dist\lib\puretls-CURRENT.jar" File "dist\lib\resolver-20050927.jar" File "dist\lib\saaj-api-1.3.jar" File "dist\lib\saaj-impl-1.3.jar" File "dist\lib\servlet-api-2.3.jar" File "dist\lib\sjsxp-1.0.jar" File "dist\lib\QCGComputingSDK-2.4.1.jar" File "dist\lib\QCGCoreSDK-2.4.0.jar" File "dist\lib\stax-api-1.0.jar" File "dist\lib\stax-ex-1.2.jar" File "dist\lib\streambuffer-0.7.jar" File "dist\lib\webservices-api-1.1.2-SNAPSHOT.jar" File "dist\lib\xmlsec-2.0.jar" File "dist\lib\xws-security-CURRENT.jar" File "dist\lib\jsch-0.1.49.jar" SetOutPath "$INSTDIR\resources" File "resources\qcg-logo-stones-16.png" SetOutPath "$INSTDIR" File "dist\QCG-Icon.jar" File "dist_static\qcg-icon.exe" File "dist_static\config.properties" File "dist_static\urls.properties" File "dist_static\logging.properties" SectionEnd LangString submitTask ${LANG_POLISH} "Zleć zadanie..." LangString submitTask ${LANG_ENGLISH} "Submit task..." Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\qcg-icon.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\qcg-icon.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}" # remove autostart from HKLM and set it in HKCU (in EnableAutostart function) DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Run\QCG-Icon" # Menu Start CreateShortCut "$SMPROGRAMS\QCG-Icon.lnk" "$INSTDIR\qcg-icon.exe" # Matlab WriteRegStr HKCR ".m\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".m\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" # Namd WriteRegStr HKCR ".namd\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".namd\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" # R WriteRegStr HKCR ".r\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".r\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" # CFX WriteRegStr HKCR ".def\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".def\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" # Fluent WriteRegStr HKCR ".fluent\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".fluent\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" # BASH WriteRegStr HKCR ".sh\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".sh\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" # Gaussian WriteRegStr HKCR ".gjf\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".gjf\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" WriteRegStr HKCR ".inp\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".inp\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" WriteRegStr HKCR ".com\shell\submit" "" "$(submitTask)" WriteRegStr HKCR ".com\shell\submit\command" "" "$\"$INSTDIR\qcg-icon.exe$\" $\"%1$\"" SectionEnd LangString askDeinstall ${LANG_POLISH} "Czy na pewno chcesz usunąć program $(^Name) i wszystkie jego komponenty?" LangString askDeinstall ${LANG_ENGLISH} "Do you really want to remove $(^Name) and all it's components?" Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "$(askDeinstall)" IDYES +2 Abort FunctionEnd Section Uninstall Delete "$INSTDIR\urls.properties" Delete "$INSTDIR\QCG-Icon.jar" Delete "$INSTDIR\qcg-icon.exe" Delete "$INSTDIR\resources\qcg-logo-stones-16.png" Delete "$INSTDIR\lib\xws-security-CURRENT.jar" Delete "$INSTDIR\lib\xmlsec-2.0.jar" Delete "$INSTDIR\lib\webservices-api-1.1.2-SNAPSHOT.jar" Delete "$INSTDIR\lib\streambuffer-0.7.jar" Delete "$INSTDIR\lib\stax-ex-1.2.jar" Delete "$INSTDIR\lib\stax-api-1.0.jar" Delete "$INSTDIR\lib\QCGCoreSDK-2.4.0.jar" Delete "$INSTDIR\lib\QCGComputingSDK-2.4.1.jar" Delete "$INSTDIR\lib\sjsxp-1.0.jar" Delete "$INSTDIR\lib\servlet-api-2.3.jar" Delete "$INSTDIR\lib\saaj-impl-1.3.jar" Delete "$INSTDIR\lib\saaj-api-1.3.jar" Delete "$INSTDIR\lib\resolver-20050927.jar" Delete "$INSTDIR\lib\puretls-CURRENT.jar" Delete "$INSTDIR\lib\mimepull-1.1.jar" Delete "$INSTDIR\lib\logkit-1.0.1.jar" Delete "$INSTDIR\lib\log4j-1.2.12.jar" Delete "$INSTDIR\lib\junit-3.8.jar" Delete "$INSTDIR\lib\jsr250-api-1.0.jar" Delete "$INSTDIR\lib\jsr181-api-1.0-MR1.jar" Delete "$INSTDIR\lib\jgss-CURRENT.jar" Delete "$INSTDIR\lib\jce-jdk13-131-CURRENT.jar" Delete "$INSTDIR\lib\jaxws-rt-2.1.3.jar" Delete "$INSTDIR\lib\jaxws-api-2.1.jar" Delete "$INSTDIR\lib\jaxb-impl-2.1.6.jar" Delete "$INSTDIR\lib\jaxb-api-2.1.jar" Delete "$INSTDIR\lib\JarSync-0.3.jar" Delete "$INSTDIR\lib\cryptix32-CURRENT.jar" Delete "$INSTDIR\lib\cryptix-CURRENT.jar" Delete "$INSTDIR\lib\cryptix-asn1-CURRENT.jar" Delete "$INSTDIR\lib\commons-logging-1.1.jar" Delete "$INSTDIR\lib\cog-url-CURRENT.jar" Delete "$INSTDIR\lib\cog-jglobus-CURRENT.jar" Delete "$INSTDIR\lib\avalon-framework-4.1.3.jar" Delete "$INSTDIR\lib\activation-1.1.jar" Delete "$INSTDIR\lib\jsch-0.1.49.jar" Delete "$INSTDIR\config.properties" Delete "$INSTDIR\certs\8a661490.signing_policy" Delete "$INSTDIR\certs\8a661490.0" Delete "$INSTDIR\logging.properties" Delete "$INSTDIR\qcg-icon.log" Delete "$INSTDIR\qcg-icon.log.1" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\certs\*" RMDir "$INSTDIR\resources" RMDir "$INSTDIR\lib" RMDir "$INSTDIR\certs" RMDir "$INSTDIR" # autostart DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "QCG-Icon" # Menu Start Delete "$SMPROGRAMS\qcg-icon.lnk" # matlab DeleteRegKey HKCR ".m\shell\submit\command" DeleteRegKey HKCR ".m\shell\submit" # namd DeleteRegKey HKCR ".namd\shell\submit\command" DeleteRegKey HKCR ".namd\shell\submit" # R DeleteRegKey HKCR ".r\shell\submit\command" DeleteRegKey HKCR ".r\shell\submit" # CFX DeleteRegKey HKCR ".def\shell\submit\command" DeleteRegKey HKCR ".def\shell\submit" # Fluent DeleteRegKey HKCR ".fluent\shell\submit\command" DeleteRegKey HKCR ".fluent\shell\submit" # Bash DeleteRegKey HKCR ".sh\shell\submit\command" DeleteRegKey HKCR ".sh\shell\submit" # Gausian DeleteRegKey HKCR ".gjf\shell\submit\command" DeleteRegKey HKCR ".gjf\shell\submit" DeleteRegKey HKCR ".inp\shell\submit\command" DeleteRegKey HKCR ".inp\shell\submit" DeleteRegKey HKCR ".com\shell\submit\command" DeleteRegKey HKCR ".com\shell\submit" # uninstallKey DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\QCG-Icon" # Possible old registry entries DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "QCG-Icon" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\qcg-icon" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\QCG icon" SectionEnd LangString successDeinstall ${LANG_POLISH} "Program $(^Name) został pomyślnie usunięty." LangString successDeinstall ${LANG_ENGLISH} "Program $(^Name) has been successfully removed." Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(successDeinstall)" FunctionEnd