Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

c# - '80040154 Class not registered' with interop from ASP.NET

I'm receiving the following error on a Windows XP Pro SP2 x64 machine running IIS6:

System.Runtime.InteropServices.COMException: 
Retrieving the COM class factory for component with CLSID
{3C250CBD-6CC9-11D2-9457-00004B48467E} failed due to the following error:
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

This occurs when trying to instantiate a COM interop object.

Oddly enough, this works fine from a console application running under the same account as the application pool (a user in AD). I.e. both use UserX, so it doesn't seem like an obvious permissions issue.

Anyone else had anything similar?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Make sure that your application pool is either 32 bit (or supports 32 bit apps) or your COM control supports 64 bit apps. Most likely, your native COM library is 32bit and your pool runs a 64 bit worker by default, which is unable to load 32bit COM dll.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.8k users

...