[ACCEPTED]-How to find a DLL given a CLSID?-clsid

Accepted answer
Score: 37

Normaly, you can just go to:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\"GUID"

And 4 find a key called "InProcServer32" for instance 3 and there will be the default value that 2 has the DLL. This is one simple way to do 1 it.

Score: 7

Can you not just search for it in the registry 1 using regedit and look for the binary path.

Score: 3

Based on BobbyShaftoe reply we can build 3 a simple vbs script that reads that registry 2 for us:

Dll_RegPath = "HKEY_CLASSES_ROOT\CLSID\<GUID>\InProcServer32\"

Paste the following to "test.vbs"

Sub Main

    ' used to find location of "System.Collections.ArrayList" progid dll
    Const csGUID = "{6896B49D-7AFB-34DC-934E-5ADD38EEEE39}"

    MsgBox srGetDllPathByGUID(csGUID)

End Sub

Function srGetDllPathByGUID( sGUID )
    Const csRegPath = "HKEY_CLASSES_ROOT\CLSID\<GUID>\InProcServer32\"

    Dim oShell: Set oShell = CreateObject("WScript.Shell")
    Dim sReg: sReg = Replace( csRegPath, "<GUID>", sGUID ) ' build str

    srGetDllPathByGUID = oShell.RegRead(sReg)

    Set oShell = Nothing ' clean up
End Function

Call Main

You 1 can also find ProgId by:

ProgID_RegPath = "HKEY_CLASSES_ROOT\CLSID\<GUID>\ProgID\"
Score: 0

I've found this question because I was troubleshooting 10 some incorrectly installed application and 9 my objective was to find and register ActiveX 8 dll given the CLSID (which I've got from 7 app sources). Hence my a little bit hacky 6 approach.

I've issued a search in the directory 5 where I believed the dll is located looking 4 for CLSID in file contents. That did the 3 trick, because it was stored in plain text 2 in resources. I believe it's not always 1 the case, but my problem was solved.

More Related questions