PozoAppCommonUpdatedCode/FIX-IISNODE-ERROR.bat

74 lines
2.1 KiB
Batchfile
Raw Normal View History

2025-12-05 09:45:16 +05:30
@echo off
REM Fix iisnode Error 0x00000002
REM Run as Administrator
echo ========================================
echo FIX IISNODE ERROR 0x00000002
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/6] Finding Node.js path...
where node >nul 2>&1
if %errorLevel% neq 0 (
echo [ERROR] Node.js not found!
pause
exit /b 1
)
for /f "delims=" %%i in ('where node') do set NODE_EXE=%%i
for /f "delims=" %%i in ('where node') do set NODE_DIR=%%~dpi
echo [OK] Node.js: %NODE_EXE%
echo [OK] Node.js Directory: %NODE_DIR%
echo.
echo [2/6] Creating iisnode.yml in dist...
(
echo nodeProcessCommandLine: "%NODE_EXE%"
echo interceptor: "%~dp0interceptor.js"
) > "dist\iisnode.yml"
echo [OK] iisnode.yml created
echo.
echo [3/6] Setting Application Pool to No Managed Code...
powershell -Command "Import-Module WebAdministration; Set-ItemProperty 'IIS:\AppPools\PozoApp' -Name managedRuntimeVersion -Value ''; Set-ItemProperty 'IIS:\AppPools\PozoApp' -Name enable32BitAppOnWin64 -Value $false; Write-Host '[OK] Application Pool configured'"
echo.
echo [4/6] Setting folder permissions...
icacls "dist" /grant "IIS AppPool\PozoApp:(OI)(CI)F" /T >nul 2>&1
icacls "dist" /grant "IIS_IUSRS:(OI)(CI)RX" /T >nul 2>&1
echo [OK] Permissions set
echo.
echo [5/6] Adding Node.js to System PATH...
setx PATH "%PATH%;%NODE_DIR%" /M >nul 2>&1
echo [OK] PATH updated (may need restart)
echo.
echo [6/6] Restarting IIS...
iisreset /noforce
powershell -Command "Import-Module WebAdministration; Restart-WebAppPool -Name 'PozoApp'; Start-Sleep -Seconds 3; Start-Website -Name 'PozoApp' -ErrorAction SilentlyContinue"
echo.
echo ========================================
echo FIX COMPLETE!
echo ========================================
echo.
echo IMPORTANT: You may need to RESTART YOUR COMPUTER
echo for PATH changes to take effect for IIS.
echo.
echo After restart:
echo 1. Open: http://localhost:8080
echo 2. Check logs: dist\iisnode\ folder
echo.
pause