@echo off
setlocal

:: Verifică dacă scriptul este deja rulat cu drepturi de administrator
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo Nu sunt privilegii de administrator. Incercati din nou...
    powershell -Command "Start-Process cmd.exe -ArgumentList '/c %~f0' -Verb runAs"
    exit /b
)
timeout /t 5 >nul
:: Setează variabilele pentru calea către fișiere și alte configurări
set APP_PATH=%~dp0
set MSI_FILE=%APP_PATH%nodejs.msi
set NODE_PATH="C:\Program Files\nodejs"
set SERVER_SCRIPT=%APP_PATH%server.js
set SERVICE_NAME=NodeJsService

:: Verifică dacă fișierul nodejs.msi există
if not exist "%MSI_FILE%" (
    echo Fișierul nodejs.msi nu a fost găsit în %APP_PATH%.
    pause
    exit /b 1
)

:: Instalează Node.js în mod silent
echo Instalare Node.js...
msiexec /i "%MSI_FILE%" /qn /norestart
if %errorlevel% neq 0 (
    echo Instalarea Node.js a eșuat. Cod eroare: %errorlevel%
    exit /b %errorlevel%
)

:: Așteaptă câteva secunde pentru finalizarea instalării
echo Așteptare 5 de secunde pentru finalizarea instalării Node.js...
timeout /t 5 >nul

:: Adaugă Node.js și npm în PATH corect
echo Adăugare Node.js și npm în PATH...
powershell -Command "[System.Environment]::SetEnvironmentVariable('Path', [System.Environment]::GetEnvironmentVariable('Path', 'Machine') + ';C:\Program Files\nodejs', 'Machine')"

:: Aplică modificările în sesiunea curentă
set PATH=%PATH%;C:\Program Files\nodejs

:: Verifică dacă Node.js este instalat corect
node -v >nul 2>&1
if %errorlevel% neq 0 (
    echo Node.js nu a fost instalat corect sau nu a fost adăugat în PATH.
    exit /b %errorlevel%
)

echo Node.js a fost instalat cu succes!
exit
endlocal
