54 lines
1.7 KiB
NSIS
54 lines
1.7 KiB
NSIS
!include "MUI2.nsh"
|
|
|
|
Name "LOGAR Server"
|
|
OutFile "../dist/LOGAR-Server-Setup.exe"
|
|
InstallDir "$PROGRAMFILES64\LOGAR-Server"
|
|
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/Server.exe"
|
|
File "../compilation/nssm.exe"
|
|
File /r "../dist/runtime"
|
|
|
|
CreateDirectory "$APPDATA\LOGAR-Server"
|
|
ExecWait 'icacls "$APPDATA\LOGAR-Server" /grant "*S-1-5-32-545:(OI)(CI)M" /T /Q'
|
|
|
|
# Install and configure service via NSSM
|
|
ExecWait '"$INSTDIR\nssm.exe" install LOGAR_Server "$INSTDIR\Server.exe"'
|
|
ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Server AppDirectory "$INSTDIR"'
|
|
ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Server AppStdout "$APPDATA\LOGAR-Server\server.log"'
|
|
ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Server AppStderr "$APPDATA\LOGAR-Server\server_err.log"'
|
|
ExecWait '"$INSTDIR\nssm.exe" start LOGAR_Server'
|
|
|
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
SectionEnd
|
|
|
|
Section "Uninstall"
|
|
SetShellVarContext all
|
|
ExecWait '"$INSTDIR\nssm.exe" stop LOGAR_Server'
|
|
ExecWait '"$INSTDIR\nssm.exe" remove LOGAR_Server confirm'
|
|
RMDir /r "$INSTDIR\runtime"
|
|
RMDir /r "$INSTDIR\certs"
|
|
Delete "$INSTDIR\server_config.json"
|
|
Delete "$INSTDIR\logar_state.db"
|
|
Delete "$INSTDIR\logar_state.db-*"
|
|
Delete "$INSTDIR\*.log"
|
|
Delete "$INSTDIR\Server.exe"
|
|
Delete "$INSTDIR\nssm.exe"
|
|
Delete "$INSTDIR\uninstall.exe"
|
|
RMDir /r "$INSTDIR"
|
|
RMDir /r "$APPDATA\LOGAR-Server"
|
|
SectionEnd
|