Windows XP 專業版安裝 IIS 5.1 後執行 ASP 頁面出現「HTTP 500 - 內部伺服器錯誤」,通常源於 COM+ 元件註冊遺失、MSDTC 服務異常、匿名存取設定錯誤或父路徑未啟用。本文彙整多種修復方案,按成功率排序。
regsvr32 %windir%\system32\vbscript.dll
msdtc -resetlog
vbscript.dll:ASP 腳本引擎核心msdtc -resetlog:重建分散式交易協調器日誌,修復 COM+ 依賴cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
CreateIISPackage 中 I/I/S/P 必須大寫wamreg.dll 後需加空格asptxn.dll:ASP 交易支援元件
1. 電腦管理 → 本機使用者和群組 → 設定 IUSR_機器名、IWAM_機器名 相同密碼
2. cd C:\Inetpub\Adminscripts
3. cscript.exe adsutil.vbs set w3svc/wamuserpass "密碼"
4. cscript.exe adsutil.vbs set w3svc/anonymoususerpass "密碼"
5. cscript.exe synciwam.vbs -v
1. 刪除登錄機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
2. net stop msdtc
3. msdtc -uninstall
4. msdtc -install
5. 事件檢視器確認 MSDTC 服務正常啟動(關鍵驗證)
6. 重新設定 IWAM 帳號密碼
7. 同步 IIS metabase 與 COM+ 的 IWAM 密碼(階段四指令)
| 錯誤 | 含義 | 對應階段 |
|---|---|---|
| 8004e00f | COM+ 目錄錯誤/密碼不同步 | 階段三、四、進階 |
| wamreg.dll 遺失 CreateIISPackage | IIS 核心套件未註冊 | 階段二 |
| ASP 0113 | 腳本逾時/引擎未註冊 | 階段一 |
瀏覽器訪問 https://localhost/ 顯示 IIS 預設頁面,建立 test.asp 含 <%=Now()%> 正常輸出時間即表示修復成功。
iisreset)測試cscript adsutil.vbs enum /w3svc > backup.txt)