Install NSSM by download/unzip

This commit is contained in:
2025-01-19 13:10:21 +01:00
parent 7deb6f243e
commit 1a82289453

View File

@@ -1,4 +1,5 @@
@echo off @echo off
cd /D "%~dp0"
if !%1==! goto help if !%1==! goto help
if !%2==! goto help if !%2==! goto help
@@ -7,17 +8,27 @@ set BESZELKEY=%2
set SERVICENAME=BeszelAgent set SERVICENAME=BeszelAgent
set DESTINATIONDIR=%ProgramFiles%\%SERVICENAME% set DESTINATIONDIR=%ProgramFiles%\%SERVICENAME%
set AGENTEXE=%DESTINATIONDIR%\agent.exe set AGENTEXE=%DESTINATIONDIR%\agent.exe
set NSSMEXE=nssm.exe
where nssm.exe >nul 2>&1 where nssm.exe >nul 2>&1
if %errorlevel%==1 goto install if %errorlevel%==1 goto installnssm
goto proceed goto proceed
:install :installnssm
echo Installing NSSM with winget echo Downloading NSSM
winget install nssm curl.exe --output "%TEMP%\nssm-2.24.zip" --url https://nssm.cc/release/nssm-2.24.zip >nul 2>&1
rem Refresh the environment to start nssm from %PATH% echo Extracting ZIP file
rem Call RefreshEnv.cmd from Chocolatey: tar.exe -xf %TEMP%\nssm-2.24.zip
call .\RefreshEnv.cmd 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 :proceed
echo Creating deirectory %DESTINATIONDIR% 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 netsh advfirewall firewall add rule name="%SERVICENAME%" dir=in action=allow program="%AGENTEXE%" enable=yes >nul 2>&1
echo Installing service echo Installing service
nssm install %SERVICENAME% "%AGENTEXE%" >nul 2>&1 %NSSMEXE% install %SERVICENAME% "%AGENTEXE%" >nul 2>&1
nssm set %SERVICENAME% AppEnvironmentExtra "KEY=%BESZELKEYPREFIX% %BESZELKEY%" >nul 2>&1 %NSSMEXE% set %SERVICENAME% AppEnvironmentExtra "KEY=%BESZELKEYPREFIX% %BESZELKEY%" >nul 2>&1
echo Setting environment für service echo Setting environment for service
nssm start %SERVICENAME% >nul 2>&1 %NSSMEXE% start %SERVICENAME% >nul 2>&1
echo Service installed, status: echo Service installed, status:
nssm dump %SERVICENAME% %NSSMEXE% dump %SERVICENAME%
goto end goto end
:help :help