2

I have an XP application that has a number of keys set via GPP, otherwise it prompts the user to manually enter this information. This is written to HKEY_LOCAL_MACHINE\SOFTWARE\AppX

When on an Windows7 machine this GPP is ineffective. If I run the app and enter the information manually it writes to HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\AppX.

If I add a new GPP that writes to the with the same information that gets set during the manual process the application fails to load the keys and won't launch until I've deleted the GPP keys and manually enter the information. If I delete the key and run an exported reg file it works.

What options do I have to make this work? a logon scrip with the reg file? if it's something the developer needs to change when building the exe, what should I ask for?

user78150
  • 79
  • 5

1 Answers1

2

If these really are per-user settings then the app developer should be storing them in HKEY_CURRENT_USER. That's the best answer and, if you can get it, push for it.

When you say "When on an Windows7 machine this GPP is ineffective." it's unclear to me what you mean. Group Policy Preferences is capable of setting values under HKEY_LOCAL_MACHINE by using registry settings specified in the "Computer Configuration" portion of a GPO. Are you saying that you have GPP settings in a GPO that applies to the Windows 7 computer but the computer isn't writing the settings into appropriate place in the registry?

As far as getting rid of the virtualized registry keys for each user who might already have them I'd use GPP in policy that applies to the user to delete these values.

Edit:

Woah there. I just saw the "Wow6432Node" in your question. You have two different things occurring simultaneously.

Your GPP is probably writing the keys to HKEY_LOCAL_MACHINE\SOFTWARE\AppX. Based on the virtualized keys you're showing for users, though, it looks like the app is a 32-bit program. In that case, on a 64-bit Windows 7 machine your GPP needs to write the keys to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AppX. You'll can scope those registry entries to 64-bit clients only using Item Level Targeting and a "Registry Match" on HKEY_LOCAL_MACHINE\Software\Wow6432Node.

Evan Anderson
  • 141,071
  • 19
  • 191
  • 328
  • It writes to HKEY_LOCAL_MACHINE but that application doesn't load the key from there, so it's ineffective. – user78150 Feb 13 '13 at 18:58
  • I'm still a bit unclear. Are you saying the application isn't loading the key from there for users when the virtualized keys are present, or for any user? – Evan Anderson Feb 13 '13 at 18:59
  • If I run AppX in XP, keys get written in HKLM - so a GPP exists to write this data for the user. If I allow the GPP to run in Win7, GPP creates the keys in HKLM (same as XP), but when I run AppX it runs as if the keys aren't there. Instead, if AppX is configured manually, it writes the keys to HKU. – user78150 Feb 13 '13 at 19:04
  • I dropped on an edit. – Evan Anderson Feb 13 '13 at 19:43
  • Changing the GPP to write to HKEY_LOCAL_MACHINE\Software\Wow6432Node for Win7 machines did the trick. – user78150 Feb 15 '13 at 17:58