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 шт):

Автор решения: S.H.

Есть подозрение, что у Вас просто прав не хватает.

Дело в том, что на накоторые части registry тоже есть права, так же, как и на файловую систему.

Проверить, так это или не так, можно либо посмотрев подробнее exception, либо попробовав запустить программу от имени более "могучего" (в смысле прав) пользователя.

Также, имейте в виду, что в компьютерах в составе домена эта схема еще усложняется: появляются группоаве политики, которые "перекрывают" настройки, внесенные в реестр локального компьютера.

Также, можете уточнить точное название ключа, в котром вы пытаетесь работать - может быть, все станет сразу понятно.

→ Ссылка
Автор решения: Андрей Павлов

Все, проблема решена! Надо было одну строчку поменять чуть-чуть...

Было:

using (var section = Registry.CurrentUser.OpenSubKey(regWhiteList))

Стало:

using (var section = Registry.CurrentUser.OpenSubKey(regWhiteList, true))

Будьте внимательны, друзья!)

→ Ссылка