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:
http://msdn.microsoft.com/en-us/library/aa965884(VS.85).aspx
I hope you find this useful.
U are probably using x64 version, same as I am, RIGHT???
for some reason there must be 2 sections of the registry, 64 bit and a 32 bit.
Why it takes 2 different programs to view them is an MS secret.
look here
C:\Windows\SysWOW64 and run "REGEDIT.EXE"
REGEDIT32.EXE is duplicated in this folder and SYSTEM32
REGEDIT.EXE will show u different entries than "REGEDIT32.EXE"
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:
http://msdn.microsoft.com/en-us/library/aa965884(VS.85).aspx
I hope you find this useful.
U are probably using x64 version, same as I am, RIGHT???
for some reason there must be 2 sections of the registry, 64 bit and a 32 bit.
Why it takes 2 different programs to view them is an MS secret.
look here
C:\Windows\SysWOW64 and run "REGEDIT.EXE"
REGEDIT32.EXE is duplicated in this folder and SYSTEM32
REGEDIT.EXE will show u different entries than "REGEDIT32.EXE"