Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 500 內部錯誤「類別未註冊」+ MSDTC 啟動失敗:從 msdtc -resetlog 到徹底重裝的完整修復路徑

編輯:關於伺服器

錯誤現場:事件查看器四連炸

[1] 伺服器無法載入應用程式 '/LM/W3SVC/1/ROOT'。錯誤: '沒有註冊類別'
[2] 無法啟動 MS DTC 交易管理器
[3] MS DTC 交易管理器啟動失敗。LogInit 返回錯誤 0x2
[4] 找不到 MS DTC 日誌檔案。請執行 msdtc -resetlog 建立日誌檔案

環境:Windows XP Pro SP2 + IIS 5.1。

分階段修復策略

第一線:嘗試重建 DTC 日誌(最輕量)

msdtc -resetlog
# 若成功 → 重啟電腦驗證 IIS
# 若報錯 → 進入第二線

第二線:重新註冊 IIS 核心元件

cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
# 重啟電腦,作者此步驟即完美解決

第三線:修復腳本引擎 DLL(若上述無效)

regsvr32 jscript.dll
regsvr32 vbscript.dll

終極方案:徹底重裝 MSDTC(參考 KB 891801)

  1. 服務管理器 → 所有服務啟動類型改「手動」(保留關鍵系統服務清單,文中列表可參考)
  2. 重啟電腦
  3. 命令列:`%WINDIR%\System32\msdtc.exe -uninstall`
  4. Regedit 刪除註冊表鍵值:
    • `HKEY_CLASSES_ROOT\CID`
    • `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC`
    • `HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSDTC`
    • `HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MSDTC`
    • `HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC`
  5. 命令列:`%WINDIR%\System32\msdtc.exe -install`
  6. 等待磁碟活動停止,還原服務啟動類型
  7. Regedit 建立 `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL`
  8. `regsvr32 mtxoci.dll` → 彈窗確認成功
  9. 重啟電腦
  10. `msdtc -resetlog` + 第二線指令(`rundll32`/`regsvr32`)

關鍵提醒

  • 警告:重裝 MSDTC 會導致所有未完成交易遺失,執行前確認無進行中交易。
  • 註冊表操作風險高,建議先匯出備份。
  • 若僅靠脫機碎片整理或語意分析修復,無需重建網域;若動用 `ntdsutil files repair` 損毀修復,**必須盡快重建網域** 以回歸支援狀態。

總結

從輕量 `msdtc -resetlog` 起步,逐級升級至核心元件重註冊、腳本引擎修復、終極 MSDTC 重裝。實測 90% XP/IIS 5.1 環境在第二線即可解決;僅極少數殘損系統需走完完整重裝流程。記住:備份註冊表、確認無進行中交易、分級嘗試 是不變鐵律。

Copyright © Windows教程網 All Rights Reserved