@echo off REM Final Fix - Node.js PATH for IIS REM Run as Administrator echo ======================================== echo FINAL FIX - NODE.JS FOR IIS echo ======================================== echo. cd /d "%~dp0" net session >nul 2>&1 if %errorLevel% neq 0 ( echo [ERROR] Run as Administrator! pause exit /b 1 ) echo [1/4] Finding Node.js... where node >nul 2>&1 if %errorLevel% neq 0 ( echo [ERROR] Node.js not in PATH! pause exit /b 1 ) for /f "delims=" %%i in ('where node') do set NODE_PATH=%%~dpi echo [OK] Node.js found at: %NODE_PATH% echo. echo [2/4] Adding Node.js to System PATH... setx PATH "%PATH%;%NODE_PATH%" /M >nul 2>&1 if %errorLevel% equ 0 ( echo [OK] Node.js added to system PATH ) else ( echo [WARNING] Could not add to PATH automatically echo [INFO] Manual: Add %NODE_PATH% to System Environment Variables ) echo. echo [3/4] Setting Application Pool Environment... powershell -Command "$ErrorActionPreference = 'SilentlyContinue'; Import-Module WebAdministration; $pool = Get-Item 'IIS:\AppPools\PozoApp' -ErrorAction SilentlyContinue; if ($pool) { $envVars = $pool.environmentVariables; if (-not $envVars) { $envVars = @{} }; $envVars['PATH'] = [Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';%NODE_PATH%'; $envVars['NODE_PATH'] = '%NODE_PATH%'; Set-ItemProperty 'IIS:\AppPools\PozoApp' -Name environmentVariables -Value $envVars; Write-Host '[OK] Application Pool environment set' } else { Write-Host '[WARNING] Application Pool not found' }" echo. echo [4/4] Restarting IIS and Application Pool... iisreset /noforce powershell -Command "Import-Module WebAdministration; Restart-WebAppPool -Name 'PozoApp'; Start-Sleep -Seconds 2; Start-Website -Name 'PozoApp' -ErrorAction SilentlyContinue" echo. echo ======================================== echo FIX COMPLETE! echo ======================================== echo. echo Next Steps: echo 1. Wait 5 seconds for IIS to restart echo 2. Open browser: http://localhost:8080 echo 3. If still error, check: dist\iisnode\ logs echo. echo Note: You may need to restart your computer for PATH changes echo to take full effect for IIS worker processes. echo. pause