McKay
McKay

Reputation: 12604

How do I dig into a COM object?

I'm digging through the .NET source, and I found an interop class to a COM object. If I have the guid, how do I go about finding the DLL and class in question (and for that matter, how does .NET load the DLL based on the guid)?

Is it in the GAC somewhere?

Upvotes: 0

Views: 206

Answers (1)

Dirk Vollmar
Dirk Vollmar

Reputation: 176159

COM dlls are not placed into the GAC (which is for .NET assemblies only - hence the name Global Assembly Cache).

If you know the guid of a COM component and want to know the path to the actual binary you can figure that out using in the Registry.

Start regedit.exe, navigate to

HKEY_CLASSES_ROOT\CLSID\<guid value>\InprocServer32

and check the default value of the key. Alternatively, for command line lovers, use the reg.exe tool:

reg query HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}\InprocServer32
   (Default)    REG_SZ    C:\Windows\System32\oleaut32.dll
   ThreadingModel    REG_SZ    Both

Upvotes: 1

Related Questions