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

解決「Automation 伺服器無法建立物件」錯誤的六大方案:從 scrrun.dll 到 IE 安全性設定

編輯:關於伺服器

錯誤現象

ASP/ASP.NET、VBScript、VB6、C# 等環境中呼叫 CreateObject("Scripting.FileSystemObject")、WScript.Shell、MSXML 等 COM 元件時,拋出:

Automation 伺服器無法建立物件

六大解決方案 (按成功率排序)

方案一:重新註冊 scrrun.dll (針對 FileSystemObject) - 最常見、最有效

regsvr32 %windir%\system32\scrrun.dll

執行後彈出「DllRegisterServer 成功」即完成。針對 Scripting.FileSystemObject、Scripting.Dictionary 等 scrrun.dll 內元件失效。

方案二:批次重新註冊核心系統 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 元件註冊遺失。

方案三:檢查曾否手動取消註冊 scrrun.dll (FileSystemObject 遭禁用)

若曾執行 regsvr32 /u scrrun.dll 禁用 FSO (為防 ASP 木馬),需重新註冊:regsvr32 scrrun.dll。同理 wshom.ocx (WScript.Shell)、msado15.dll (ADODB.Stream)。

方案四:控制面板「使用者帳戶」開啟失效 (同方案一)

現象:控制台 → 使用者帳戶 → 「變更使用者登入/登出方式」報同錯誤。
解決:同方案一,regsvr32 scrrun.dll。

方案五:安裝/修復 MSXML 核心元件

  • IE 5+ 預設安全等級會提示安裝 MSXML ActiveX,允許即可自動安裝。
  • 若失敗,下載安裝 MSXML 3.0 SP7+ 或 MSXML 6.0 (Microsoft 官網)。
  • 檢查 IE 安全等級:工具 → 網際網路選項 → 安全性 → 自訂等級 → 「對未標記為安全的 ActiveX 控制項初始化並執行腳本」設為「啟用」或「提示」。

方案六:IE 安全性設定調整 (針對 Web 環境)

IE → 工具 → 網際網路選項 → 安全性 → 自訂等級 → 找到 「對未標記為安全的 ActiveX 控制項初始化並執行腳本」 → 選 啟用 → 確定。
風險: 降低瀏覽器安全性,僅限受信任內部網站/測試環境。

核心元件對照表

ProgIDDLL/OCX 檔案重新註冊指令
Scripting.FileSystemObjectscrrun.dllregsvr32 scrrun.dll
WScript.Shellwshom.ocxregsvr32 wshom.ocx
WScript.Networkwshom.ocxregsvr32 wshom.ocx
ADODB.Streammsado15.dllregsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"
MSXML2.DOMDocumentmsxml3.dll / msxml6.dllregsvr32 msxml3.dll / regsvr32 msxml6.dll

特別補充:shimgvw.dll

部分環境下 regsvr32 shimgvw.dll (Windows 圖片與傳真檢視器) 亦能修復相關 Automation 錯誤,可嘗試。

Copyright © Windows教程網 All Rights Reserved