From 1a8228945344f6da946d3021c8a6facb844b7855 Mon Sep 17 00:00:00 2001 From: elpatron Date: Sun, 19 Jan 2025 13:10:21 +0100 Subject: [PATCH] Install NSSM by download/unzip --- install-beszel-service.cmd | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/install-beszel-service.cmd b/install-beszel-service.cmd index 0a2edf4..8476409 100644 --- a/install-beszel-service.cmd +++ b/install-beszel-service.cmd @@ -1,4 +1,5 @@ @echo off +cd /D "%~dp0" if !%1==! goto help if !%2==! goto help @@ -7,17 +8,27 @@ set BESZELKEY=%2 set SERVICENAME=BeszelAgent set DESTINATIONDIR=%ProgramFiles%\%SERVICENAME% set AGENTEXE=%DESTINATIONDIR%\agent.exe +set NSSMEXE=nssm.exe where nssm.exe >nul 2>&1 -if %errorlevel%==1 goto install +if %errorlevel%==1 goto installnssm goto proceed -:install -echo Installing NSSM with winget -winget install nssm -rem Refresh the environment to start nssm from %PATH% -rem Call RefreshEnv.cmd from Chocolatey: -call .\RefreshEnv.cmd +:installnssm +echo Downloading NSSM +curl.exe --output "%TEMP%\nssm-2.24.zip" --url https://nssm.cc/release/nssm-2.24.zip >nul 2>&1 +echo Extracting ZIP file +tar.exe -xf %TEMP%\nssm-2.24.zip +echo Copying nssm.exe to %DESTINATIONDIR% +if %PROCESSOR_ARCHITECTURE%==AMD64 ( + copy .\nssm-2.24\win64\nssm.exe "%DESTINATIONDIR%\" >nul 2>&1 +) else ( + copy .\nssm-2.24\win32\nssm.exe "%DESTINATIONDIR%\" >nul 2>&1 +) +set NSSMEXE="%DESTINATIONDIR%\nssm.exe" +echo Deleting temporary files +del "%TEMP%\nssm-2.24.zip" >nul 2>&1 +rd /s/q .\nssm-2.24 >nul 2>&1 :proceed echo Creating deirectory %DESTINATIONDIR% @@ -30,14 +41,14 @@ echo Adding firewall rule netsh advfirewall firewall add rule name="%SERVICENAME%" dir=in action=allow program="%AGENTEXE%" enable=yes >nul 2>&1 echo Installing service -nssm install %SERVICENAME% "%AGENTEXE%" >nul 2>&1 -nssm set %SERVICENAME% AppEnvironmentExtra "KEY=%BESZELKEYPREFIX% %BESZELKEY%" >nul 2>&1 +%NSSMEXE% install %SERVICENAME% "%AGENTEXE%" >nul 2>&1 +%NSSMEXE% set %SERVICENAME% AppEnvironmentExtra "KEY=%BESZELKEYPREFIX% %BESZELKEY%" >nul 2>&1 -echo Setting environment für service -nssm start %SERVICENAME% >nul 2>&1 +echo Setting environment for service +%NSSMEXE% start %SERVICENAME% >nul 2>&1 echo Service installed, status: -nssm dump %SERVICENAME% +%NSSMEXE% dump %SERVICENAME% goto end :help