I\'ve seen several (not all) registry values like the followings, when trying to parse out the file path under the TypeLib registry key:
HKEY_CLASS_ROOT\\TypeLib
usually we use LoadRegTypeLib for load typelib based on registry information. the The function LoadRegTypeLib
defers to LoadTypeLib to load the file. and read Remarks section for LoadTypeLib
By default, the type library is extracted from the first resource of type ITypeLib. To load a different type of library resource, append an integer index to szFile. For example:
ITypeLib *ptlib;
LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
This statement loads the type library resource 3 from the file Mfa.exe file.
In Visual Studio use File > Open > File and select C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\mswebprj.dll. You'll see the resources embedded in the DLL. Open the TYPELIB node and you'll instantly see what 5 means.
It is the resource id.
More typically there is only one type library embedded in the file and has resource id #1. Sometimes the type library is not embedded but stored in a separate file, commonly with the .tlb or .olb filename extension. Like a .NET [ComVisible] assembly, Office is a common example.