System.UnauthorizedAccessException: "cannot write to the registry key"
Во время отладки программы появляется исключение:
System.UnauthorizedAccessException: "cannot write to the registry key"
Ниже скриншот с ошибкой и код, на котором она возникает.
Вот сам код:
private void AddToWhiteList(RegistryUninstallInfo info)
{
Applications.Remove(info);
WhiteList.Add(info);
using (var section = Registry.CurrentUser.OpenSubKey(regWhiteList))
{
section.CreateSubKey(info.RegistryKeyName);
}
}
Если из кода что-то будет непонятно я объясню.
Ответы (2 шт):
Есть подозрение, что у Вас просто прав не хватает.
Дело в том, что на накоторые части registry тоже есть права, так же, как и на файловую систему.
Проверить, так это или не так, можно либо посмотрев подробнее exception, либо попробовав запустить программу от имени более "могучего" (в смысле прав) пользователя.
Также, имейте в виду, что в компьютерах в составе домена эта схема еще усложняется: появляются группоаве политики, которые "перекрывают" настройки, внесенные в реестр локального компьютера.
Также, можете уточнить точное название ключа, в котром вы пытаетесь работать - может быть, все станет сразу понятно.
Все, проблема решена! Надо было одну строчку поменять чуть-чуть...
Было:
using (var section = Registry.CurrentUser.OpenSubKey(regWhiteList))
Стало:
using (var section = Registry.CurrentUser.OpenSubKey(regWhiteList, true))
Будьте внимательны, друзья!)
