Реестр C # SetValue выбрасывает UnauthorizedAccessException

Прежде чем пытаться ответить на этот вопрос, & quot; Сделайте быстрый поиск в Google. & Quot; Я хотел бы отметить, что у меня уже есть. Вот ситуация, у меня есть следующий метод, который пытается изменить значение ключа реестра. Проблема, которую я получаю, заключается в том, что при выполнении она генерирует исключение UnauthorizedAccessExceptioneven though I've opened the key as writeable, Я запускаю Visual Studio от имени администратора и даже попытался создать небольшой .exe-файл с файлом манифеста, заставив его работать от имени администратора, который безуспешно выполнит код. Ключ уже существует, он не пытается войти в метод CreateKey. Вот блок кода.

Path = "S-1-5-21-1644491937-1078145449-682003330-5490\Software\Microsoft\Windows\CurrentVersion\Policies\System"
Key = "DisableTaskMgr"
NewValue = 1

public OperationResult ModifyKey()
    {
        OperationResult result = new OperationResult();

        if (!Path.IsNullOrEmptyTrim())
        {
            if (!Key.IsNullOrEmptyTrim())
            {
                try
                {
                    var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, true);

                    if (key != null)
                    {
                        key.SetValue(Key, NewValue);

                        key.Close();
                    }
                    else
                    {
                        result = CreateKey();
                    }
                }
                catch (Exception ex)
                {
                    result.SetFail("Error accessing registry", ex);
                }
            }
            else
            {
                result.SetFail("Registry key was null");
            }
        }
        else
        {
            result.SetFail("Registry path was null");
        }

        return result;
    }

Нужно ли вручную переходить по дереву реестра, устанавливая каждый вызов OpenSubKey для записи? Я тоже это пробовал, все равно выкинул ту же ошибку ...

Ответы на вопрос(6)

Ваш ответ на вопрос