A question regarding HKEY_LOCAL_MACHINE and HEKY_CLASSES_ROOT?
A class id of a COM dll may be created under HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID or may be created under HKEY_CLASSES_ROOT\CLSID in registry. Is there any difference between them? In order to register a COM dll, should a COM dll be registered in both or one of them? Thanks for your inputs.
Re: A question regarding HKEY_LOCAL_MACHINE and HEKY_CLASSES_ROOT?
Quote:
Originally Posted by
dullboy
Is there any difference between them?
No, HKEY_CLASSES_ROOT\CLSID and HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID are synonymous.
HKEY_CLASSES_ROOT is a "merged view" of HKEY_LOCAL_MACHINE\Software\Classes and HKEY_CURRENT_USER\Software\Classes.
See HKEY_CLASSES_ROOT Key and Merged View of HKEY_CLASSES_ROOT in MSDN.
Re: A question regarding HKEY_LOCAL_MACHINE and HEKY_CLASSES_ROOT?
You can have per user COM configurations (stored in HKEY_CURRENT_USER\Software\Classes) or machine wide COM configurations (stored in HKEY_LOCAL_MACHINE\Software\Classes). HKEY_CLASSES_ROOT\CLSID shows you both. Also see this http://msdn.microsoft.com/en-us/library/bb756926.aspx.
Re: A question regarding HKEY_LOCAL_MACHINE and HEKY_CLASSES_ROOT?
Why not search the COM documentation for how to register COM objects?