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

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

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?
Answered 04/01/2008 by: AngelD
Red Belt

Please log in to comment
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
Answered 04/01/2008 by: Inabus
Second Degree Green Belt

Please log in to comment
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
Answered 04/01/2008 by: Lillude
Senior Purple Belt

Please log in to comment
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
Answered 04/01/2008 by: Inabus
Second Degree Green Belt

Please log in to comment
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.
Answered 04/01/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
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
Answered 04/02/2008 by: Lillude
Senior Purple Belt

Please log in to comment
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.
Answered 04/02/2008 by: AngelD
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity