COM object with CLSID {..} is either not valid or not registered?

B

brianbasquille

Hello all,

Am trying to modify / update the existing open-source OpenHTPC.

I've renamed most of the namespaces and some forms (as well as added my
own with modifications) and everything works except for playing of a
video file.

I get the message:

"COM object with CLSID {DEFC92B5-D996-4EF0-82AC-5C1110F67BCD} is either
not valid or not registered."

Would i need to add this key above under CLSID in the registry? Would
changing namespaces / renaming files have caused this.

Many thanks.

Brian
 
B

brianbasquille

Anyone?..

Please, some help here would be much appreciated!

Thanks in advance
 
W

Willy Denoyette [MVP]

Adding a CLSID to the registry without installing the component makes no
sense, You need to install the component ( a DLL) and make sure it gets
registered using regsvr32.


Willy.

| Hello all,
|
| Am trying to modify / update the existing open-source OpenHTPC.
|
| I've renamed most of the namespaces and some forms (as well as added my
| own with modifications) and everything works except for playing of a
| video file.
|
| I get the message:
|
| "COM object with CLSID {DEFC92B5-D996-4EF0-82AC-5C1110F67BCD} is either
| not valid or not registered."
|
| Would i need to add this key above under CLSID in the registry? Would
| changing namespaces / renaming files have caused this.
|
| Many thanks.
|
| Brian
|
 
B

brianbasquille

Thanks for that Willy.

I've already tried registering all componants i use in my program using
regsvr32 and keep getting the message:

"<DLLName>.dll was loaded, but the DLLRegisterServer Entry Point was
not found.

DLL was not registered"

Have all DLL's both in a folder called Dependencies in my Project and
also in the bin folder along with the outputted executable.

Any other suggestions? Is driving me crazy - the registry key i
mentioned isn't in my registry but all the DLL's must required to be
registered, but won't.

Regards,

Brian

PS - am using VS2003 along with the .NET framework 2003 if that helps.
 
A

Alvin Bruney

Have you tried the depends utility from MS to see what the problem might be?

--
Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The Microsoft Office Web Components Black Book with .NET
Now Available @ www.lulu.com/owc
Forth-coming VSTO.NET - Wrox/Wiley 2006
-------------------------------------------------------
 
W

Willy Denoyette [MVP]

That means that you are trying to register a non COM server DLL. All COM
server DLL's should have the DLLRegisterServer entry point. IMO you are
missing the COM DLL containing the COM class with CLSID
DEFC92B5-D996-4EF0-82AC-5C1110F67BCD.

Willy.


| Thanks for that Willy.
|
| I've already tried registering all componants i use in my program using
| regsvr32 and keep getting the message:
|
| "<DLLName>.dll was loaded, but the DLLRegisterServer Entry Point was
| not found.
|
| DLL was not registered"
|
| Have all DLL's both in a folder called Dependencies in my Project and
| also in the bin folder along with the outputted executable.
|
| Any other suggestions? Is driving me crazy - the registry key i
| mentioned isn't in my registry but all the DLL's must required to be
| registered, but won't.
|
| Regards,
|
| Brian
|
| PS - am using VS2003 along with the .NET framework 2003 if that helps.
|
| Willy Denoyette [MVP] wrote:
| > Adding a CLSID to the registry without installing the component makes no
| > sense, You need to install the component ( a DLL) and make sure it gets
| > registered using regsvr32.
| >
| >
| > Willy.
| >
| > | > | Hello all,
| > |
| > | Am trying to modify / update the existing open-source OpenHTPC.
| > |
| > | I've renamed most of the namespaces and some forms (as well as added
my
| > | own with modifications) and everything works except for playing of a
| > | video file.
| > |
| > | I get the message:
| > |
| > | "COM object with CLSID {DEFC92B5-D996-4EF0-82AC-5C1110F67BCD} is
either
| > | not valid or not registered."
| > |
| > | Would i need to add this key above under CLSID in the registry? Would
| > | changing namespaces / renaming files have caused this.
| > |
| > | Many thanks.
| > |
| > | Brian
| > |
|
 
B

brianbasquille

Thanks for that Willy.

But am unsure of how to resolve this.. any pointers?

Any way to find out the COM Dll with that particular CLSID?
 
B

brianbasquille

Anyone have any thoughts on this..

Does anyone have any idea how to pinpoint the particular DLL i'm
missing? Either by using the CLSID specified above or using some other
method?

Thanks in advance,
 
L

Lucian Wischik

Does anyone have any idea how to pinpoint the particular DLL i'm
missing? Either by using the CLSID specified above or using some other
method?

Start>Run>regedit
HKEY_CLASSES_ROOT\CLSID\...your.clsid...
 
B

brianbasquille

Cheers Lucian.

But the message i'm getting is that the particular CLSID
({DEFC92B5-D996-4EF0-82AC-5C1110F67BCD}) isn't registered and therefore
isn't in the registry,
 
L

Lucian Wischik

Anyone else?
Please very frustrated with this problem!

My instinct now is to do a binary search of every DLL+EXE on your hard
disk to see if any of them include this text string. Hopefully (1) the
guy who tries to LOAD it will have it, (2) also the guy who PROVIDES
it. Also, figure out the binary representation of that CLSID.
 
B

brianbasquille

A binary search? Would a standard search in XP of *.dll and *.exe
containing the text "DEFC92B5-D996-4EF0-82AC-5C1110F67BCD" suffice?
That found nothing anyways!

Also, how would i convert the CLSID to a binary representation?
 
L

Lucian Wischik

A binary search? Would a standard search in XP of *.dll and *.exe
containing the text "DEFC92B5-D996-4EF0-82AC-5C1110F67BCD" suffice?
That found nothing anyways!

Using which tool? I doubt "grep" would find a text-string inside a
binary file. I don't know about Visual Studio's FindInFiles. My
instinct would be two write my own tool, just to be sure.

Also, how would i convert the CLSID to a binary representation?

In DWORD groups, it's

0xdefc92b5, 0x4ef0d996, 0x115cac82, 0xcd7bf610

In byte-sequences, it's

0xb5, 0x92, 0xFC, 0xDE, 0x96, 0xD9, 0xF0, 0x4E, 0x82, 0xAC, 0x5C,
0x11, 0x10, 0xF6, 0x7B, 0xCD


At least, I think that's how it works. I know that a CLSID is one
4-byte number, followed by two 2-byte numbers, followed by eight
1-byte numbers. And I think the conventional printing into 4-2-2-2-6
is just an oddity.


NB. In C++ I used the code

const CLSID clsid =
{0xDEFC92B5,0xD996,0x4EF0,0x82,0xAC,0x5C,0x11,0x10,0xF6,0x7B,0xCD};

//Assert(sizeof(clsid)=4*sizeof(DWORD));

DWORD *d = (DWORD*)&clsid;
printf("%lx,%lx,%lx,%lx",d[0],d[1],d[2],d[3]);
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top