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

ASP 錯誤 'ASP 0178 : 80070005' Server.CreateObject 存取被拒絕解決方案

編輯:關於伺服器

經典 ASP 應用呼叫 Server.CreateObject 實例化 COM 元件時,若回傳 錯誤 'ASP 0178 : 80070005' Server.CreateObject 存取被拒絕,通常是 **COM 元件啟動權限** 或 **註冊表機碼存取權限** 未授予 IIS 執行身分。

錯誤完整訊息

Server object error 'ASP 0178 : 80070005'
Server.CreateObject Access Denied
/xxx.asp, line N
Call to Server.CreateObject failed while checking permissions.
Access is denied to this object.

核心解決步驟

  1. 開啟 regedit。
  2. 定位至:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\AppPatch\v2.0.50727.00000
  3. 右鍵該機碼 →「權限」→「新增」→ 輸入 IIS_WPG (IIS 6.0) 或 IIS_IUSRS (IIS 7.0+) → 勾選 讀取 權限 → 確定。
  4. 若元件為 32 位元在 64 位元系統,同步檢查 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\... 同路徑機碼權限。
  5. 重啟 IIS:iisreset。

進階排查 (若上述無效)

可能原因檢查/解決
COM 元件未註冊regsvr32 xxx.dll 註冊,或 regsvr32 /u 解除重註冊
DCOM 啟動權限dcomcnfg → 元件服務 → 電腦 → 我的電腦 → DCOM 設定 → 該元件 →「安全性」→「啟動及啟動權限」→ 編輯 → 加入 IIS_WPG/IIS_IUSRS → 允許「本機啟動」「本機啟動」
元件身分設定DCOM 設定 →「身分」→ 選「互動式使用者」或指定具權限的服務帳號
檔案系統權限元件 DLL/OCX 檔案 →「安全性」→ IIS_WPG/IIS_IUSRS 讀取/執行
依賴 DLL 缺失depends.exe (Dependency Walker) 檢查元件相依性

驗證

重現呼叫 Server.CreateObject("ProgID") 的 ASP 頁面,應不再拋出 0178 錯誤。

核心原則:**IIS 執行身分 (IUSR/IIS_WPG/IIS_IUSRS) 必須擁有 COM 元件註冊表機碼讀取權限、DCOM 啟動權限、元件檔案讀取權限** 三者缺一不可。

Copyright © Windows教程網 All Rights Reserved