Могу ли я разрешить запись в определенный раздел реестра без повышения прав?

Я разрабатываю расширение для Visual Studio 2005, 2008 и 2010. SDK Visual Studio 2005 требует доступа для записи к следующему разделу реестра во время сборки. Обычный способ справиться с этим запустить Visual Studio с повышенными привилегиями. Всей проблемы можно избежать, если каким-то образом я могу установить разрешения, разрешающие доступ к этому конкретному разделу реестра без повышения прав:

HKLM\SOFTWARE\Microsoft\VisualStudio\8.0Exp

Примечание: этот ключ используется только для тестирования расширений Visual Studio 2005. Проблема не возникает на клиентских машинах, поэтому это просто обходной путь для моей собственной машины разработки.


person Sam Harwell    schedule 01.05.2010    source источник


Ответы (1)


Это должно работать, чтобы просто добавить разрешения для себя в этом разделе реестра. UAC работает, отключая SID группы администраторов в вашем токене сеанса, поэтому при работе без повышенных прав вы получите все разрешения, которые у вас есть, кроме тех, которые предоставлены вам через ваше членство в группе администраторов.

person Anders Abel    schedule 02.05.2010
comment
Какое-то время я думал, что это не работает. Затем я понял, что мне нужно установить разрешения для этого узла как в 32-битном, так и в 64-битном разделах реестра. :) Сработало отлично! - person Sam Harwell; 26.06.2010