53 lines
1.6 KiB
NSIS
53 lines
1.6 KiB
NSIS
!include "MUI2.nsh"
|
|
|
|
Name "LOGAR Client"
|
|
OutFile "../dist/LOGAR-Client-Setup.exe"
|
|
InstallDir "$PROGRAMFILES64\LOGAR"
|
|
RequestExecutionLevel admin
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
Section "Install"
|
|
SetShellVarContext all
|
|
SetOutPath "$INSTDIR"
|
|
File "../dist/Win_Client.exe"
|
|
File "../compilation/nssm.exe"
|
|
File /r "../dist/runtime"
|
|
|
|
CreateDirectory "$APPDATA\LOGAR"
|
|
ExecWait 'icacls "$APPDATA\LOGAR" /grant "*S-1-5-32-545:(OI)(CI)M" /T /Q'
|
|
|
|
# Install and configure service via NSSM
|
|
ExecWait '"$INSTDIR\nssm.exe" install LOGAR_Client "$INSTDIR\Win_Client.exe"'
|
|
ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Client AppDirectory "$INSTDIR"'
|
|
ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Client AppStdout "$APPDATA\LOGAR\client.log"'
|
|
ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Client AppStderr "$APPDATA\LOGAR\client_err.log"'
|
|
ExecWait '"$INSTDIR\nssm.exe" start LOGAR_Client'
|
|
|
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
SectionEnd
|
|
|
|
Section "Uninstall"
|
|
SetShellVarContext all
|
|
ExecWait '"$INSTDIR\nssm.exe" stop LOGAR_Client'
|
|
ExecWait '"$INSTDIR\nssm.exe" remove LOGAR_Client confirm'
|
|
RMDir /r "$INSTDIR\runtime"
|
|
RMDir /r "$INSTDIR\certs"
|
|
Delete "$INSTDIR\client_config.json"
|
|
Delete "$INSTDIR\client_state.json"
|
|
Delete "$INSTDIR\*.log"
|
|
Delete "$INSTDIR\Win_Client.exe"
|
|
Delete "$INSTDIR\nssm.exe"
|
|
Delete "$INSTDIR\uninstall.exe"
|
|
RMDir /r "$INSTDIR"
|
|
RMDir /r "$APPDATA\LOGAR"
|
|
SectionEnd
|