Well, it took me few hours to get around this one!.
This is a TIP (not a question) for all developers who wonder why the registry setting/details written under HKLM\Software cannot be seen while the developed application still able to access it when migrating the APP from XP into VISTA/7
On Windows XP, when I wrote my application, I created a key under "HKLM\Software\Newhex Technologies\....." for my application, however, when I deployed this into a VISTA / Windows 7 system, the applicatoin can still access and see the data, but I still can't see it when using RegEdit !.
I checked the hidden value keys etc, read a dozen articles about Hidden keys etc and almost thought it's a bug in the RegEdit program. However;
Aparently there is a new "feature" developed by Microsoft on VISTA and onwards, whereas the HKLM key is "Virtualized" !,... and the values are physically stored under "HKCU\Softwate\Classes\VirtualStore\Machine\Software\Newhex Technologies" !.
When my application wanted to access "HKLM\Software\Newhex Technologies\..." it was accessing the above key under HKCU which then was being Virtualized into the HKLM.
Now, to workaround this problem, you need to take the following steps:
1) Access RegEdit 2) Check the permissions under HKLM\Software\YOUR_KEY and allow your user full access. 3) Goto DOS 4) type in: "REG FLAGS HKLM\SOFTWARE\YOUR_KEY SET DONT_VIRTUALIZE /s 5) (Up to this stage, your applicaion should start accessing the Key under HKLM, however, you need to remove the Virtual key now): 6) Remove the Virtual Key under HKCU\Software\Classes\VirtualStore\MACHINE\YOUR_KEY
That's it, all should work as it should from it's own place.
i.e. There is NO hidden keys., more info can be read under:
Microsoft is conducting an online survey to understand your opinion of the Technet Web site. If you choose to participate, the online survey will be presented to you when you leave the Technet Web site.