Я использую HKEY_LOCAL_MACHINE, чтобы установить переменную во время установки. Они должны быть видны всем пользователям на машине и читаются только ими.
Я использую Inno для создания записи. Он работает от имени администратора, поэтому у него должны быть соответствующие права, чтобы виртуализация не сработала ... или я неправильно понял?
Мое приложение может прочитать запись (даже как пользователь с ограниченными правами в Win7), НО я не вижу их в RegEdit или RegEditX 3.0. Я МОГУ видеть их в RegEditX 2.0, хотя. Weird.
Я не понимаю, почему мое приложение Delphi может видеть запись, а программы RegEdit выше не могут.
Я полагаю, что это может быть связано с виртуализацией (первый ответ здесь: Невозможно прочитать данные конфигурации из HKEY_LOCAL_MACHINE в Vista ).
Но я даже не вижу соответствующей записи реестра в разделе HKCU \ Software \ Classes \ VirtualStore \ MACHINE \ SOFTWARE.
HKEY_LOCAL_MACHINE настолько устарел, что мне следует полностью избегать его? Как теперь разработчик должен сохранять данные для всех пользователей - просто в {commomappdata}, обычно это C: \ Program Data ... ??