Unable to see specific HKEY_LOCAL_MACHINE entries in RegEdit

I use HKEY_LOCAL_MACHINE to set a variable during installation. They should be visible to all users on the machine and read only by them.

I use Inno to create a record. He works as an administrator, so he must have adequate rights that virtualization does not work ... or I don’t understand?

My application can read the record (even a limited user in Win7), but I do not see them in RegEdit or RegEditX 3.0. I can see them in RegEditX 2.0. Weird

I do not understand why my Delphi application can see the record, but RegEdit programs cannot above.

I believe this may have something with virtualization (first answer here: Cannot read configuration data from HKEY_LOCAL_MACHINE in Vista ).

But I don’t even see the registry entry in question in the HKCU \ Software \ Classes \ VirtualStore \ MACHINE \ SOFTWARE section.

Is HKEY_LOCAL_MACHINE so obsolete that I should avoid it completely? How now should a developer save data for all users - simply in {commomappdata}, which is usually C: \ Program Data ... ??

+4
source share
1 answer

64-bit versions of Windows emulate 32-bit functions through the Windows Subsystem for Windows (WoW). In the case of the registry, they drag 32-bit keys into a special subkey for compatibility reasons.

The keys will be in: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node .

This is the file system redirector registry registry that maps system32 to SysWOW64 .

More information can be found in the MSDN registry redirector topic.

+18
source

Source: https://habr.com/ru/post/1382320/


All Articles