Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Removing app generated keys from HKCU


1 reply to this topic

Oogle

Oogle
  • Members
  • 11 posts

Posted 10 October 2003 - 18:59

I have a few apps that create keys in HKCU. What is the best way to tell the MSI to remove these app keys on uninstall? I know this sounds simple, but there are a few issues that are puzzling me.

1st:
If I make one reg entry using the '-' as the value name, will the MSI remove all instances of this key from every user in the system?

2nd:
MSI documentation says that I should make any installed HKCU key the keypath for a component.
QUOTE (MSI Documentation)
Setting this bit is recommended for registry entries written to the HKCU hive. This ensures the installer writes the necessary HKCU registry entries when there are multiple users on the same machine.

Does the converse also apply? In other words, should I do this for any HKCU keys that I want to remove?

3rd:
The MSI documentation says that the component keypath can't refer to a reg key that uses +,*,-.
QUOTE (MSI Documentation)
If the Value field of the corresponding record in the Registry table is null, the Name field in that record must not contain "+", "-", or "*".

How does this affect what I'm trying to do? It seems like I can't make an "uninstall HKCU app key" because it needs to be the keypath for my component. (See issue 2).

Is there a "logo certified" solution (i.e. passes validation) that will accommodate all these issues? Any help would be greatly appreciated.

Edited by Oogle, 10 October 2003 - 19:01.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 October 2003 - 10:14

re 3rd: Registry table rows with NULL value and Names of +, - or * have a special meaning. They only create a key but not an entry (name-value pair).
However the key path of your component should be such a name-value pair.