English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
All categories

I have a ASP.NET project which references an interop dll. WHAT IS AN interop dll? And why would I get the following error when trying to instantiate an object within it:

COM object with CLSID {00024500-0000-0000-C000-00000... is either not valid or not registered.

Sorry but please only answer if you have a clue. This question was posted previously and just solicited a bunch of un-informed point mongers who were the reported.

2006-09-15 04:09:52 · 3 answers · asked by Ralph 7 in Computers & Internet Programming & Design

3 answers

Other answerers pretty much got it, but here's the deal in laymen's terms:

COM is "Component Object Model" and is used by Microsoft to designate:

ApplicationName.ClassName

The CLSID is a GUID registry value. GUID is pronounced GWID and is basically a unique identifier. It's used to call the class from an HTML object tag, among other places.

You've used these before, probably. Ever use the CreateObject or Server.CreateObject methods? Ex:

Scripting.FileSystem --> CreateObject("Scripting.FileSystem")
ADODB.Connection --> CreateObject("ADODB.Connection")
Microsoft.XMLDOM --> Etc.
Word.Application --> Etc.

Etc.

COM -Interop- is when you wanna use a dotNet class COM-style. There are two ways to do this:

Create a Visual Studio Class Library project. Add a COM Class. It'll give you the GUID automatically in the source. Don't delete the method New, as it is used to instantiate an object. Go to configuration. Go to build tab. Select "Register for COM Interop". Run a build. BAM. You've got a .NET class you can use in server-side VBScript, OR in client-side script so long the client's got that COM Class too. Pretty cool, huh?

You don't have to do all that though -- compile that same COM Class into a DLL (like Interop.dll) and RegAsm it. BAM again.

Good luck,

Robert

2006-09-15 05:10:24 · answer #1 · answered by Anonymous · 0 0

this seams to be unreal CLSID..
try to find this dll and register it from comand line: regsvr32 yourdllName.
may be some instalation process was not completed .. or smth..

2006-09-15 04:15:22 · answer #2 · answered by Ugi 2 · 0 0

http://www32.brinkster.com/srisamp/netArticles/article_16.htm

2006-09-15 04:14:43 · answer #3 · answered by Laquishacashaunette 4 · 0 0

fedest.com, questions and answers