您會收到 「 0x80040154 (類別未註冊) 」 錯誤訊息,當您註冊 ATL server

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:201191
徵狀
當您註冊 ATL server 時,您可能會收到錯誤 0x80040154 (類別未登錄)。Dll,REGSVR32.exe 會傳回這個錯誤。針對 Exe,在 _tWinMain() 的 _Module::RegisterServer(CComModule::RegisterServer) 的呼叫會傳回這個錯誤。
發生的原因
未安裝 ATL70.dll,或未註冊。

注意Visual Studio 6.0 及更早版本,ATL 執行階段將包含在 ATL.dll 中。如果您使用 Visual Studio 6.0 或更早版本,請使用 ATL.dll 而不是新的 Visual Studio 的 「 」.NET 版本。
解決方案
安裝 Windows\System 或 Winnt\System32 目錄中的 ATL70.dll (或較早版本的 Visual Studio 的 ATL.dll)。您沒有註冊 ATL70.dll,不過,您必須註冊 ATL.dll,利用 Regsvr32.exe。有 ATL70.dll 和 ATL.dll 的 UNICODE 並使用 ANSI 的版本。Microsoft Windows 95 或 Microsoft Windows 98 的目標作業系統 (也就是 UNICODE 的 Microsoft Windows NT 中,) 和 ANSI 安裝適當的版本。

注意下列步驟適用於 Visual Studio 6.0 或更早版本。Visual Studio 的 「 」.NET 並沒有 MinDependency,建置目標。

因此,請勿使用 ATL.dll。當您重建您的 ATL server 與建置目標的 ReleaseMinDependency 時,ATL.dll 中的程式碼會以靜態方式連結至您的專案。

對於 ' 發行 MinDependency' ATL.dll 可能需要送貨。

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件 ︰
244955 PRB: MinDependency 專案可能需要包含 Atl.dll
狀況說明
此行為是系統設計的一部份。
其他相關資訊
ATL 擁有註冊期間所使用的域名註冊商元件。這個元件位於 ATL.dll。在註冊期間,會在從 CoCreateInstance() 傳回錯誤 0x80040154 時若要建立登錄器元件失敗。

ATL 的位置在 Visual C++ 的 DLL 5.0 的 CD:

OS\SYSTEM (UNICODE 版本)
OS\SYSTEM\ANSI (ANSI 版)

ATL 的位置在 Visual C++ 的 DLL 6.0 的 CD:

DevStudio\VC\Redist (UNICODE 版本)
DevStudio\VC\Redist\Ansi (ANSI 版)

ATL70 的位置。在 Visual C++ 的.NET CD 中的 DLL:

Win\System (UNICODE 版本)
Win\System\ansi (ANSI 版)
参考
MSDN 程式庫 ︰ 域名註冊商,ATL 登錄元件;Regsvr32,使用

(c) Microsoft Corporation 1999,國際著作權公約保護。Samson Tanrena,Microsoft Corporation 的貢獻。

REGDB_E_CLASSNOTREG

警告:本文為自動翻譯

內容

文章識別碼:201191 - 最後檢閱時間:04/10/2016 04:02:00 - 修訂: 6.0

  • kberrmsg kbtshoot kbregistry kbinprocsvr kbctrlcreate kbprb kbmt KB201191 KbMtzh
意見反應