We have a .NET app that needs to examine a folder that may contain COM libraries (DLL and OCX.) When we do encounter a COM library one thing we need to accomplish is to extract the GUID from the COM DLL or OCX.
Is there a straightforward way to do this with .NET without using 3rd party libraries?
This should work for you. It requires a reference to c:\windows\system32\tlbinf32.dll, but I'm assuming that is okay because it isn't a third party component.
Imports TLI 'from c:\windows\system32\tlbinf32.dll Dim reglib As TLI.TLIApplication = New TLI.TLIApplicationClass() Dim DLLPath As String = "c:\mycomponent.ocx" MsgBox(reglib.TypeLibInfoFromFile(DLLPath).GUID.ToString())