22 lines
1.8 KiB
Batchfile
22 lines
1.8 KiB
Batchfile
@echo off
|
|
setlocal
|
|
cd /d "%~dp0"
|
|
if not exist ".env" ( echo ERROR: .env file is missing. Download the configured ERP Local Agent package from ERP. & pause & exit /b 1 )
|
|
if not exist ".venv\Scripts\python.exe" ( py -3 -m venv .venv & if errorlevel 1 ( echo ERROR: Unable to create Python virtual environment. & pause & exit /b 1 ) )
|
|
".venv\Scripts\python.exe" -m pip install --upgrade pip
|
|
if errorlevel 1 goto :failed
|
|
".venv\Scripts\python.exe" -m pip install -r requirements.txt
|
|
if errorlevel 1 goto :failed
|
|
set "AGENT_DIR=%~dp0"
|
|
set "AGENT_PYTHON=%~dp0.venv\Scripts\python.exe"
|
|
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='Stop'; try { Stop-ScheduledTask -TaskName 'AuditFirmStorageAgent' -ErrorAction SilentlyContinue } catch {}; try { Unregister-ScheduledTask -TaskName 'AuditFirmStorageAgent' -Confirm:$false -ErrorAction SilentlyContinue } catch {}; $d=$env:AGENT_DIR.TrimEnd('\'); $p=$env:AGENT_PYTHON; $a=New-ScheduledTaskAction -Execute $p -Argument '-m erp_local_agent.main' -WorkingDirectory $d; $t=New-ScheduledTaskTrigger -AtStartup; $pr=New-ScheduledTaskPrincipal -UserId 'SYSTEM' -LogonType ServiceAccount -RunLevel Highest; $s=New-ScheduledTaskSettingsSet -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -ExecutionTimeLimit ([TimeSpan]::Zero) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries; Register-ScheduledTask -TaskName 'ERP Local Agent' -Action $a -Trigger $t -Principal $pr -Settings $s -Force | Out-Null; Start-ScheduledTask -TaskName 'ERP Local Agent'"
|
|
if errorlevel 1 goto :failed
|
|
echo ERP Local Agent installed and started successfully.
|
|
echo Future compatible releases will update automatically from ERP.
|
|
pause
|
|
exit /b 0
|
|
:failed
|
|
echo ERROR: ERP Local Agent installation failed. Run this file as Administrator.
|
|
pause
|
|
exit /b 1
|