培訓銷售人員部署 ASP.NET 環境時高發。網路上流傳的修復方案動輒十幾步 (重註冊 ASP.NET、修改 machine.config、檢查 NTFS 權限、重裝 .NET Framework),實測三步即可解決 95% 以上案例,核心在於修復腳本引擎、分散式交易協調器、IIS 核心元件三大基石。
REM 步驟 1:註冊 VBScript 引擎 (修復 ASP/ASP.NET 傳統頁面解析)
regsvr32 %windir%\system32\vbscript.dll
REM 步驟 2:重置 MSDTC (分散式交易協調器) 交易日誌
msdtc -resetlog
REM 步驟 3:重新安裝 IIS (修復核心二進位、元件註冊、預設應用程式集區)
控制台 → 新增/移除程式 → 新增/移除 Windows 元件
→ 取消勾選「Internet Information Services (IIS)」→ 下一步 (移除完成)
→ 重新勾選「Internet Information Services (IIS)」→ 下一步 (重新安裝)
| 步驟 | 核心作用 | 為何必要 |
|---|---|---|
1. regsvr32 vbscript.dll | 註冊 VBScript 腳本引擎 COM 元件 | IIS 5.0/6.0 依賴 vbscript.dll 執行傳統 ASP 頁面與部分 ASP.NET 相容層;缺失導致 ActiveX component can't create object: 'Scripting.FileSystemObject' 等錯誤 |
2. msdtc -resetlog | 重建 MSDTC 交易日誌檔案 | MSDTC 管理跨資源管理器 (SQL Server、Message Queuing、COM+) 分散式交易;日誌損毀會導致 COM+ 應用程式 (如 IIS Out-Of-Process Pooled Applications) 無法啟動,進而引發 HTTP 500 |
| 3. 重裝 IIS | 全量修復 IIS 二進位檔案、Metabase/ApplicationHost.config、預設應用程式集區、ISAPI 篩選器註冊 | 若步驟 2 後仍找不到 IIS Out-Of-Process Pooled Applications COM+ 應用程式,表示 IIS 核心元件註冊不全,唯有重裝可保證狀態乾淨 |
元件服務 → 電腦 → 我的電腦 → COM+ 應用程式。msdtc -resetlog 後務必重裝 IIS (步驟 3)。aspnet_isapi.dll) 由 IIS 安裝程式寫入 Metabase,單獨修復 .NET 無法恢復對應關係。System.Transactions、TransactionScope、Enterprise Services 的應用持續報 500。regsvr32、msdtc 需要提升權限寫入 HKLM、系統目錄。
@echo off
echo ==== HTTP 500 三步根治開始 ====
regsvr32 /s %windir%\system32\vbscript.dll
if %errorlevel% neq 0 echo [WARN] vbscript.dll 註冊返回非零碼
msdtc -resetlog
if %errorlevel% neq 0 echo [WARN] msdtc -resetlog 返回非零碼
echo 請手動執行: 控制台 -> 新增/移除程式 -> 移除 IIS -> 重新安裝 IIS
echo 或使用系統管理員 PowerShell 執行:
echo Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole -All
echo ==== 腳本結束,請完成 IIS 重裝後驗證 ====
pause
結語: HTTP 500 在 ASP.NET 部署初期多為「基石元件缺失/損毀」而非「應用程式碼錯誤」。註冊 vbscript.dll + 重置 MSDTC 日誌 + 重裝 IIS 三步直擊核心,避開繁瑣排查,是系統管理員必備的「肌肉記憶」級故障排除流程。
Windows Server 2003 四大核心加速技巧:註冊表、圖形、視窗與系統回應
Windows 2000 遠端管理三種安全方案:終端服務+Zebedee、VNC+SSH、FTP 隧道
Windows Server 2003 網絡適配器 IP 地址配置完全指南:DHCP 與靜態雙軌操作
Windows Server 2008 故障移轉叢集新功能與架構改進深度解析
Windows Server 2008 終端服務遠端應用程式完整部署指南
Windows Server 2008 共享資源無法開啟故障排除:權限、空密碼、IPC$ 三大主因
Windows Server 2008 遠端桌面管理設定完整教學:網路探索、防火牆、群組原則三關卡
Windows Server 2003 常見桌面故障速查手冊:影片粗糙、音訊異常、IE 安全彈窗、大型軟體卡頓四大場景解決方案