Where does CLSIDFromProgID () look in the registry?

MS 'docs just say:

If ProgID is specified, CLSIDFromProgID looks for the associated CLSID in the registry.

But where exactly does it look? I have a weird problem when the wrong CLSID is returned and I want to keep track of where this function is trying to narrow down the problem.

+6
source share
1 answer

The search is performed through the application manifest and its dependent assembly appears . This is done for support without registering COM .

If the application manifest or if none of the dependent assembler manifest declares your class in the comClass or clrClass XML element, the default search refers to a registry that will check HKEY_CLASSES_ROOT\<ProgID> 1 with a string value named CLSID .


1. HKEY_CLASSES_ROOT is a mixture of HKEY_CURRENT_USER\Software\Classes and HKEY_LOCAL_MACHINE\Software\Classes .

+6
source

All Articles