# # $Id$ # # CSVEdit # # Copyright (C) 2009-2011 IBCL e.U. # Copyright (C) 2012-2013 ITEG IT-Engineers GmbH # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ; ; 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) ; __SRCDIR__ top sourcedir ; ; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "CSVEdit (__ARCHITECTURE__)" !define PRODUCT_VERSION "__VERSION__" !define PRODUCT_PUBLISHER "Informatik-Buero Dipl.-Ing. Christoph Lechleitner" !define PRODUCT_WEB_SITE "http://www.clazzes.org/csvedit" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\csvedit.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\CSVEdit" ; MUI 1.67 compatible ------ !include "MUI.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "__SRCDIR__\..\media\csvedit.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 "__SRCDIR__\..\doc\LICENSE.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\bin\csvedit.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 "csvedit-${PRODUCT_VERSION}-setup-${ARCHITECTURE}.exe" InstallDir "$__PROGRAMFILES__\Clazzes.org\CSVEdit" 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 CSVEdit 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/csvedit.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/libgcc_s_*.dll" File "${PREFIX}/bin/libstdc++-6.dll" CreateDirectory "$SMPROGRAMS\CSVEdit" CreateShortCut "$SMPROGRAMS\CSVEdit\CSVEdit.lnk" "$INSTDIR\bin\csvedit.exe" CreateShortCut "$DESKTOP\CSVEdit.lnk" "$INSTDIR\bin\CSVEdit.exe" #SetOutPath "$INSTDIR\share\" #File "csvedit.rcc" SetOutPath "$INSTDIR\share\symbols" File "__SRCDIR__/../media/symbols/*.png" File "__SRCDIR__/../media/*.ico" #SetOutPath "$INSTDIR\share\locale\de\LC_MESSAGES" #File "${LOCAL_PREFIX}/share/locale/de/LC_MESSAGES/csvedit.mo" SetOutPath "$INSTDIR\share\translations" File "/usr/share/qt4/translations/qt_de.qm" #File "${PREFIX}/share/csvedit/translations/csvedit_*.qm" File "__SRCDIR__/csvedit_*.qm" SetOutPath "$INSTDIR\doc" File "__SRCDIR__/../doc/*.txt" SectionEnd Section -AdditionalIcons SetOutPath $INSTDIR WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "IconFile" "$INSTDIR\share\symbols\clazzes.org.ico" WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "IconIndex" "0" WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "IDList" "" CreateShortCut "$SMPROGRAMS\CSVEdit\CSVEdit Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" "" "$INSTDIR\share\symbols\clazzes.org.ico" CreateShortCut "$SMPROGRAMS\CSVEdit\Uninstall CSVEdit.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\csvedit.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\csvedit.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 "CSVEdit has been successfully uninstalled." FunctionEnd Function un.onInit SetRegView __REGVIEW__ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Would you like to uninstall CSVEdit and all its components?" IDYES +2 Abort FunctionEnd Section Uninstall Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\bin\csvedit.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\CSVEdit\Uninstall CSVEdit.lnk" Delete "$SMPROGRAMS\CSVEdit\CSVEdit Website.lnk" Delete "$DESKTOP\CSVEdit.lnk" Delete "$SMPROGRAMS\CSVEdit\CSVEdit.lnk" RMDir "$SMPROGRAMS\CSVEdit" RMDir "$INSTDIR\bin" #Delete "$INSTDIR\share\locale\de\LC_MESSAGES\csvedit.mo" #RMDir "$INSTDIR\share\locale\de\LC_MESSAGES" #RMDir "$INSTDIR\share\locale\de" #RMDir "$INSTDIR\share\locale" Delete "$INSTDIR\share\translations\qt_de.qm" Delete "$INSTDIR\share\translations\csvedit_*.qm" RMDir "$INSTDIR\share\translations" #Delete "$INSTDIR\share\csvedit.rcc" Delete "$INSTDIR\share\symbols\*.png" Delete "$INSTDIR\share\symbols\*.ico" RMDir "$INSTDIR\share\symbols" RMDir "$INSTDIR\share" Delete "$INSTDIR\doc\*.txt" RMDir "$INSTDIR\doc" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" DeleteRegKey HKLM "${PRODUCT_PATH_REGKEY}" SetAutoClose true SectionEnd