/build/static/layout/Breadcrumb_cap_w.png

Interface keys in HKCR

hi,

I wanted to know the exact use of interface keys in HKCR hive. Also why some packaging standards say to delete the interface keys from MSI package.

Does this get generated automatically? in what case it might be an issue to delete interface keys from MSI

thanks

0 Comments   [ + ] Show comments

Answers (7)

Posted by: AngelD 16 years ago
Red Belt
0
The Interface key under HKCR (merged from HKLM\SOFTWARE\Classes and HKCU\Software\Classes) is part of COM/ActiveX components, so depending if they are part of any installed COM/ActiveX component from your package then they should be included in the pacakage.

Which "packaging standards" says to remove these keys?
Posted by: Inabus 16 years ago
Second Degree Green Belt
0
Keep the interface keys and any standards that say delete them will have a ton of tosh applications that fail to work correctly!

As I am so often saying, a quick google search for "Registry Interface Keys" provided this:

http://www.codeproject.com/KB/COM/mmtopo_comid.aspx

As the first link, this explains exactly what the interface keys are.

P
Posted by: Lillude 16 years ago
Senior Purple Belt
0
thanks for the reply.

What about the keys under HKCR\Typelib\{GUID}\Interface keys. Should we delete these keys or these also should not be deleted as HKCR\Interface.

Also if any one can explain what is the difference between
HKCR\Typelib\{GUID}\Interf ace & HKCR\Interface
Posted by: Inabus 16 years ago
Second Degree Green Belt
0
Those will need to be kept as well as they allow the typelib entries to reference back to the Interface keys. The best thing to do is look at the DLL's in your package and use a tool like RegSpyUI.exe, which is an InstallShield tool. This allows you to see the COM information associated with a DLL, in there you will see all the COM information tied to that DLL, which will include typelib and interface keys.

P
Posted by: jmcfadyen 16 years ago
5th Degree Black Belt
0
http://johnmcfadyen.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&_c02_owner=1&partqs=amonth%3d4%26ayear%3d2008

this is a little less complex view of the same process.

in general HKCR is a dangerous area be very careful in here.
Posted by: Lillude 16 years ago
Senior Purple Belt
0
thanks all for your reply.

Is there any specific reason for MSI database not having any table for Interface keys. There are tables for all other COM related data as CLSID, TYPELIB, PROGID etc.

So all other COM data types can be handled through either registry or the COM tables, however for interface keys there is no such table and this only can be handled through regisry table only
Posted by: AngelD 16 years ago
Red Belt
0
Yes, there is not table for Interface and they can only exist in the Registry table.
May I suggest you read up regarding the Class, Progid and TypeLib tables.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ