;NSIS Modern User Interface
;Basic Example Script
;Written by Joost Verburg
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
;--------------------------------
;General
;Name and file
Name "monitord v2.0svn"
OutFile "monitord-setup.exe"
;Default installation folder
InstallDir "$PROGRAMFILES\monitord"
;Get installation folder from registry if available
InstallDirRegKey HKCU "Software\monitord" ""
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "German"
;--------------------------------
;Installer Sections
Section "Grundprogramm" SecMonitord
SetOutPath "$INSTDIR"
; Dateiliste
File ..\monitord\monitord.exe
File _start.bat
File _stop.bat
File _install-service.bat
File _uninstall-service.bat
;Konfigfile nur erstellen, wenn es noch keins gibt. Sonst als
;monitord.xml.new speichern
IfFileExists "$INSTDIR\monitord.xml" +1 +3
File /oname=monitord.xml.new ..\sample-config\monitord.xml.win32
goto +2
File /oname=monitord.xml ..\sample-config\monitord.xml.win32
;Store installation folder
WriteRegStr HKCU "Software\monitord" "" $INSTDIR
;Startmenu
CreateDirectory "$SMPROGRAMS\monitord"
CreateShortCut "$SMPROGRAMS\monitord\monitord.lnk" "$INSTDIR\monitord.exe"
CreateShortCut "$SMPROGRAMS\monitord\Konfiguration bearbeiten.lnk" "notepad" "$INSTDIR\monitord.xml"
CreateShortCut "$SMPROGRAMS\monitord\uninstall.lnk" "$INSTDIR\uninstall.exe"
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
; In Systemsteuerung/Software eintragen mit "Nur Entfernen"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\monitord" \
"DisplayName" "monitord"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\monitord" \
"UninstallString" "$INSTDIR\uninstall.exe"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\monitord" \
"NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\monitord" \
"NoRepair" 1
SectionEnd
Section "Beispielkonfiguration" SecSamples
SetOutPath "$INSTDIR\sample-config"
File "..\sample-config\*"
SectionEnd
Section "Plugins" SecPlugins
SetOutPath "$INSTDIR\plugins"
File ..\monitord\plugins\.libs\libmplugin_audiorecorder-0.dll
File ..\monitord\plugins\.libs\libmplugin_mysql-0.dll
SectionEnd
Section "Dll" SecDLLs
SetOutPath "$INSTDIR"
File ..\monitord\libmysql.dll
File ..\monitord\libmp3lame-0.dll
SectionEnd
;--------------------------------
;Descriptions
;Language strings
LangString DESC_SecMonitord ${LANG_GERMAN} "Das monitord Hauptprogramm"
LangString DESC_SecPlugins ${LANG_GERMAN} "Plugins zum monitord, z.B. Audiorekorder, MySQL Plugin, ..."
LangString DESC_SecDLLs ${LANG_GERMAN} "von Plugins benötigte DLLs (mysql.dll, mp3lame, ...)"
LangString DESC_SecSamples ${LANG_GERMAN} "Beispielkonfigurationen"
;Assign language strings to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecMonitord} $(DESC_SecMonitord)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} $(DESC_SecPlugins)
!insertmacro MUI_DESCRIPTION_TEXT ${SecDLLs} $(DESC_SecDLLs)
!insertmacro MUI_DESCRIPTION_TEXT ${SecSamples} $(DESC_SecSamples)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
;Uninstaller Section
Section "Uninstall"
;ADD YOUR OWN FILES HERE...
Delete "$INSTDIR\Uninstall.exe"
RMDir /r "$INSTDIR"
Delete "$SMPROGRAMS\monitord.lnk"
Delete "$SMPROGRAMS\uninstall.lnk"
RMDir /r "$SMPROGRAMS\monitord"
DeleteRegKey /ifempty HKCU "Software\monitord"
; Aus Systemsteuerung/Software wieder löschen
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\monitord"
SectionEnd