; Script generated by the HM NIS Edit Script Wizard. ; $Id$ ; ; Placeholders for sed: ; ; __VERSION__ product version ; __ARCHITECTURE__ short architecture name (x86 or x64) ; __ARCHTRIPLET__ architecture triplet for searching locally installed files. ; __PROGRAMFILES__ name program files variable (PROGRAMFILES or PROGRAMFILES64) ; __REGVIEW__ registry view (32 or 64) ; ; ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "fancylogview" !define PRODUCT_VERSION "__VERSION__" !define PRODUCT_PUBLISHER "ev-i Informationstechnologie GmbH" !define PRODUCT_WEB_SITE "http://www.clazzes.org" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\fancylogview.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_PATH_REGKEY "Software\Clazzes.org\fancylogview" ; MUI 1.67 compatible ------ !include "MUI.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "../src/fancylogview-install.ico" !define MUI_UNICON "../src/fancylogview-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 "..\doc\LICENSE.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\bin\fancylogview.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "German" !define ARCHITECTURE "__ARCHITECTURE__" !define PREFIX "/usr/__ARCHTRIPLET__" !define LOCAL_PREFIX "./install-root/usr/__ARCHTRIPLET__" ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "fancylogview-${PRODUCT_VERSION}-setup-${ARCHITECTURE}.exe" InstallDir "$__PROGRAMFILES__\Clazzes.org\FancyLogView" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Var INSTMODE Function .onInit SetRegView __REGVIEW__ ReadRegStr $0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" IfErrors fromscratch 0 MessageBox MB_OKCANCEL "There is another version of fancylogview currently installed. Run Uninstaller $0 now?" IDOK +2 IDCANCEL +1 Abort "Installation aborted by the user." ReadRegStr $INSTDIR HKLM "${PRODUCT_PATH_REGKEY}" "instdir" ExecWait '$0 _?=$INSTDIR' StrCpy $INSTMODE "update" goto goon fromscratch: StrCpy $INSTMODE "install" goon: FunctionEnd Section "main" SEC01 SetOutPath "$INSTDIR\bin" File "${LOCAL_PREFIX}/bin/fancylogview.exe" File "${PREFIX}/bin/libintl-8.dll" File "${PREFIX}/bin/libiconv-2.dll" File "${PREFIX}/bin/QtGui4.dll" File "${PREFIX}/bin/libpng16-16.dll" File "${PREFIX}/bin/QtCore4.dll" File "${PREFIX}/bin/zlib1.dll" File "${PREFIX}/bin/__LIBGCCDLL__" CreateDirectory "$SMPROGRAMS\FancyLogView" CreateShortCut "$SMPROGRAMS\FancyLogView\FancyLogView.lnk" "$INSTDIR\bin\fancylogview.exe" CreateShortCut "$DESKTOP\FancyLogView.lnk" "$INSTDIR\bin\fancylogview.exe" SetOutPath "$INSTDIR\share\" File "fancylogview.rcc" SetOutPath "$INSTDIR\share\locale\de\LC_MESSAGES" File "${LOCAL_PREFIX}/share/locale/de/LC_MESSAGES/fancylogview.mo" SetOutPath "$INSTDIR\share\qt4\translations" File "${PREFIX}/share/qt4/translations/qt_de.qm" SectionEnd Section -AdditionalIcons SetOutPath $INSTDIR WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" #WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "IconFile" "$INSTDIR/foo/clazzes.org.ico" #WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "IconIndex" "0" #WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "IDList" "" CreateShortCut "$SMPROGRAMS\FancyLogView\Clazzes.org Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\FancyLogView\Uninstall FancyLogView.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\fancylogview.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\bin\fancylogview.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 HKLM "${PRODUCT_PATH_REGKEY}" "instdir" "$INSTDIR" SectionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "FancyLogView has been successfully uninstalled." FunctionEnd Function un.onInit SetRegView __REGVIEW__ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Would you like to uninstall FancyLogView and all its components?" IDYES +2 Abort FunctionEnd Section Uninstall Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\bin\fancylogview.exe" Delete "$INSTDIR\bin\libintl-8.dll" Delete "$INSTDIR\bin\libiconv-2.dll" Delete "$INSTDIR\bin\QtGui4.dll" Delete "$INSTDIR\bin\libpng12-0.dll" Delete "$INSTDIR\bin\QtCore4.dll" Delete "$INSTDIR\bin\zlib1.dll" Delete "$INSTDIR\bin\libgcc_s_sjlj-1.dll" Delete "$SMPROGRAMS\FancyLogView\Uninstall FancyLogView.lnk" Delete "$SMPROGRAMS\FancyLogView\Clazzes.org Website.lnk" Delete "$DESKTOP\FancyLogView.lnk" Delete "$SMPROGRAMS\FancyLogView\FancyLogView.lnk" RMDir "$SMPROGRAMS\FancyLogView" RMDir "$INSTDIR\bin" Delete "$INSTDIR\share\locale\de\LC_MESSAGES\fancylogview.mo" RMDir "$INSTDIR\share\locale\de\LC_MESSAGES" RMDir "$INSTDIR\share\locale\de" RMDir "$INSTDIR\share\locale" Delete "$INSTDIR\share\qt4\translations\qt_de.qm" RMDir "$INSTDIR\share\qt4\translations" RMDir "$INSTDIR\share\qt4" Delete "$INSTDIR\share\fancylogview.rcc" RMDir "$INSTDIR\share" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" DeleteRegKey HKLM "${PRODUCT_PATH_REGKEY}" SetAutoClose true SectionEnd