!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" SetOutPath "$INSTDIR" File "../dist/Server.exe" File "../compilation/nssm.exe" File /r "../dist/runtime" CreateDirectory "$COMMONAPPDATA\LOGAR-Server" # 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 "$COMMONAPPDATA\LOGAR-Server\server.log"' ExecWait '"$INSTDIR\nssm.exe" set LOGAR_Server AppStderr "$COMMONAPPDATA\LOGAR-Server\server_err.log"' ExecWait '"$INSTDIR\nssm.exe" start LOGAR_Server' WriteUninstaller "$INSTDIR\uninstall.exe" SectionEnd Section "Uninstall" 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 "$COMMONAPPDATA\LOGAR-Server" SectionEnd