ASP/ASP.NET、VBScript、VB6、C# 等環境中呼叫 CreateObject("Scripting.FileSystemObject")、WScript.Shell、MSXML 等 COM 元件時,拋出:
Automation 伺服器無法建立物件
regsvr32 %windir%\system32\scrrun.dll
執行後彈出「DllRegisterServer 成功」即完成。針對 Scripting.FileSystemObject、Scripting.Dictionary 等 scrrun.dll 內元件失效。
將下列內容存為 fix_com.bat 以管理員執行:
@echo off
echo 正在修復 COM 元件註冊,請稍候...
regsvr32 /s comcat.dll
regsvr32 /s asctrls.ocx
regsvr32 /s oleaut32.dll
regsvr32 /s shdocvw.dll /i
regsvr32 /s shdocvw.dll
regsvr32 /s browseui.dll
regsvr32 /s browseui.dll /i
regsvr32 /s msrating.dll
regsvr32 /s mlang.dll
regsvr32 /s hlink.dll
regsvr32 /s mshtml.dll
regsvr32 /s mshtmled.dll
regsvr32 /s urlmon.dll
regsvr32 /s plugin.ocx
regsvr32 /s sendmail.dll
regsvr32 /s mshtml.dll /i
regsvr32 /s scrobj.dll
regsvr32 /s corpol.dll
regsvr32 /s jscript.dll
regsvr32 /s msxml.dll
regsvr32 /s imgutil.dll
regsvr32 /s cryptext.dll
regsvr32 /s inseng.dll
regsvr32 /s iesetup.dll /i
regsvr32 /s cryptdlg.dll
regsvr32 /s actxprxy.dll
regsvr32 /s dispex.dll
regsvr32 /s occache.dll
regsvr32 /s iepeers.dll
regsvr32 /s urlmon.dll /i
regsvr32 /s cdfview.dll
regsvr32 /s webcheck.dll
regsvr32 /s mobsync.dll
regsvr32 /s pngfilt.dll
regsvr32 /s licmgr10.dll
regsvr32 /s hhctrl.ocx
regsvr32 /s inetcfg.dll
regsvr32 /s trialoc.dll
regsvr32 /s tdc.ocx
regsvr32 /s MSR2C.DLL
regsvr32 /s msident.dll
regsvr32 /s msieftp.dll
regsvr32 /s xmsconf.ocx
regsvr32 /s ils.dll
regsvr32 /s msoeacct.dll
regsvr32 /s wab32.dll
regsvr32 /s wabimp.dll
regsvr32 /s wabfind.dll
regsvr32 /s oemiglib.dll
regsvr32 /s directdb.dll
regsvr32 /s inetcomm.dll
regsvr32 /s msoe.dll
regsvr32 /s oeimport.dll
regsvr32 /s msdxm.ocx
regsvr32 /s dxmasf.dll
regsvr32 /s laprxy.dll
regsvr32 /s l3codecx.ax
regsvr32 /s acelpdec.ax
regsvr32 /s mpg4ds32.ax
regsvr32 /s danim.dll
regsvr32 /s Daxctle.ocx
regsvr32 /s lmrt.dll
regsvr32 /s datime.dll
regsvr32 /s dxtrans.dll
regsvr32 /s dxtmsft.dll
regsvr32 /s wshom.ocx
regsvr32 /s wshext.dll
regsvr32 /s vbscript.dll
regsvr32 /s scrrun.dll
regsvr32 /s msnsspc.dll /SspcCreateSspiReg
regsvr32 /s msapsspc.dll /SspcCreateSspiReg
echo 修復完成!任意鍵退出...
pause > nul
適用於系統更新、病毒破壞、優化工具誤刪導致大量 COM 元件註冊遺失。
若曾執行 regsvr32 /u scrrun.dll 禁用 FSO (為防 ASP 木馬),需重新註冊:regsvr32 scrrun.dll。同理 wshom.ocx (WScript.Shell)、msado15.dll (ADODB.Stream)。
現象:控制台 → 使用者帳戶 → 「變更使用者登入/登出方式」報同錯誤。
解決:同方案一,regsvr32 scrrun.dll。
IE → 工具 → 網際網路選項 → 安全性 → 自訂等級 → 找到 「對未標記為安全的 ActiveX 控制項初始化並執行腳本」 → 選 啟用 → 確定。
風險: 降低瀏覽器安全性,僅限受信任內部網站/測試環境。
| ProgID | DLL/OCX 檔案 | 重新註冊指令 |
|---|---|---|
| Scripting.FileSystemObject | scrrun.dll | regsvr32 scrrun.dll |
| WScript.Shell | wshom.ocx | regsvr32 wshom.ocx |
| WScript.Network | wshom.ocx | regsvr32 wshom.ocx |
| ADODB.Stream | msado15.dll | regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll" |
| MSXML2.DOMDocument | msxml3.dll / msxml6.dll | regsvr32 msxml3.dll / regsvr32 msxml6.dll |
部分環境下 regsvr32 shimgvw.dll (Windows 圖片與傳真檢視器) 亦能修復相關 Automation 錯誤,可嘗試。