Куда писать в реестр Windows общие данные при включенном UAC?

Начиная с Windows Vista в данной ОС появился User Account Control, который, будучи включенным, запрещает писать в ветку реестра HKLM даже приложениям, запущенным администратором. Наше приложение хранило общие настройки (независимые от пользователей) в HKLM\Software\OurCompany\OurProduct\Settings. Теперь туда писать нельзя. Писать в HKCU не хочется — общие настройки едины для всех пользователей.


Вопрос: так куда же писать? Где-то есть раздел, доступный на чтение и запись для всех пользователей? (Просьбе не предлагать писать в файлы — на то есть причины).
  • Вопрос задан
  • 3972 просмотра
Решения вопроса 1
@amirul
Вообще то применение таких настроек должно всегда спрашивать разрешения у администратора (через UAC). Но если очень хочется — можете нарушить гайдлайны и просто поменяйте ACL-ы для своего ключа в HKLM во время инсталляции.

За это о Вас когда нибудь напишут в The Old New Thing
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Aux
@Aux
Если настройки неизменны для всего времени пользования приложением, то писать их надо с помощью инсталлятора. Инсталлятор в любом случае просит элевацию прав через UAC.

Если эти настройки кто-то из пользователей захочет менять, то это повлияет на всех остальных пользователей данного компьютера и данной программы. Поэтому без UAC опять же никуда — пользователь должен осознавать, что он делает.

Ответ — никак. Дружите с UAC и не придумывайте костыли.
Ответ написан
xn__p2a
@xn__p2a
А почему бы не в конфиг-файл в %appdata%?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы