125 lines
3.3 KiB
NSIS
125 lines
3.3 KiB
NSIS
!include "MUI2.nsh"
|
|
|
|
!searchparse /file ..\version.h `#define MAJOR ` MAJOR
|
|
!searchparse /file ..\version.h `#define MINOR ` MINOR
|
|
|
|
!define REGPATH "Software\EqualizerAPO"
|
|
|
|
;--------------------------------
|
|
;General
|
|
|
|
;Name and file
|
|
Name "Equalizer APO ${MAJOR}.${MINOR}"
|
|
|
|
;Default installation folder
|
|
InstallDir "$PROGRAMFILES64\EqualizerAPO"
|
|
|
|
;Request application privileges for Windows Vista
|
|
RequestExecutionLevel admin
|
|
|
|
;--------------------------------
|
|
;Interface Settings
|
|
|
|
!define MUI_ABORTWARNING
|
|
!define MUI_COMPONENTSPAGE_NODESC
|
|
|
|
;--------------------------------
|
|
;Pages
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_LICENSE ..\License.txt
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
!insertmacro MUI_UNPAGE_WELCOME
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_COMPONENTS
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
!insertmacro MUI_UNPAGE_FINISH
|
|
|
|
;--------------------------------
|
|
;Languages
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
!insertmacro MUI_LANGUAGE "German"
|
|
|
|
;--------------------------------
|
|
;Installer Sections
|
|
|
|
Section "Install" SecInstall
|
|
SetRegView 64
|
|
|
|
SetOutPath "$INSTDIR"
|
|
SetRebootFlag true
|
|
|
|
File "${BINPATH}\EqualizerAPO.dll"
|
|
File "${BINPATH}\Configurator.exe"
|
|
File "${BINPATH}\Benchmark.exe"
|
|
|
|
File "${LIBPATH}\libsndfile-1.dll"
|
|
File "${LIBPATH}\msvcp100.dll"
|
|
File "${LIBPATH}\msvcr100.dll"
|
|
|
|
CreateDirectory "$INSTDIR\config"
|
|
|
|
SetOverwrite off
|
|
File /oname=config\config.txt "config\config.txt"
|
|
File /oname=config\example.txt "config\example.txt"
|
|
SetOverwrite on
|
|
|
|
;Grant write access to the config directory for all users
|
|
AccessControl::GrantOnFile "$INSTDIR\config" "(S-1-5-32-545)" "FullAccess"
|
|
|
|
WriteRegStr HKLM ${REGPATH} "InstallPath" "$INSTDIR"
|
|
WriteRegStr HKLM ${REGPATH} "ConfigPath" "$INSTDIR\config"
|
|
WriteRegStr HKLM ${REGPATH} "EnableTrace" "false"
|
|
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Audio" "DisableProtectedAudioDG" 1
|
|
;RegDLL doesn't work for 64 bit dlls
|
|
ExecWait '"$SYSDIR\regsvr32.exe" /s "$INSTDIR\EqualizerAPO.dll"'
|
|
|
|
ExecWait '"$INSTDIR\Configurator.exe" /i'
|
|
|
|
SectionEnd
|
|
|
|
;--------------------------------
|
|
;Uninstaller Sections
|
|
|
|
LangString SecRemoveName ${LANG_ENGLISH} "Remove configurations and registry backups"
|
|
LangString SecRemoveName ${LANG_GERMAN} "Konfigurationen und Registrierungsbackups entfernen"
|
|
|
|
Section /o un.$(SecRemoveName)
|
|
|
|
Delete "$INSTDIR\*.reg"
|
|
RMDir /REBOOTOK /r "$INSTDIR\config"
|
|
|
|
SectionEnd
|
|
|
|
Section "-un.Uninstall"
|
|
SetRegView 64
|
|
|
|
ExecWait '"$INSTDIR\Configurator.exe" /u'
|
|
|
|
ExecWait '"$SYSDIR\regsvr32.exe" /u /s "$INSTDIR\EqualizerAPO.dll"'
|
|
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Audio" "DisableProtectedAudioDG"
|
|
|
|
Delete /REBOOTOK "$INSTDIR\msvcr100.dll"
|
|
Delete /REBOOTOK "$INSTDIR\msvcp100.dll"
|
|
Delete "$INSTDIR\libsndfile-1.dll"
|
|
|
|
Delete "$INSTDIR\Benchmark.exe"
|
|
Delete "$INSTDIR\Configurator.exe"
|
|
Delete /REBOOTOK "$INSTDIR\EqualizerAPO.dll"
|
|
|
|
Delete "$INSTDIR\Uninstall.exe"
|
|
|
|
;Only remove if empty
|
|
RMDir /REBOOTOK "$INSTDIR"
|
|
|
|
DeleteRegKey /ifempty HKLM ${REGPATH}
|
|
|
|
SectionEnd
|