C # -Registry-SetValue löst UnauthorizedAccessException aus

Bevor Sie versuchen, dies mit "Führen Sie eine schnelle Google-Suche durch" zu beantworten. Ich möchte darauf hinweisen, dass ich bereits habe. In der folgenden Situation wird versucht, einen Registrierungsschlüsselwert zu ändern. Das Problem ist, dass bei der Ausführung eine UnauthorizedAccessException ausgelöst wirdobwohl ich den schlüssel als beschreibbar geöffnet habe. Ich führe Visual Studio als Administrator aus und habe sogar versucht, eine kleine EXE-Datei mit einer Manifestdatei zu erstellen, die erzwingt, als Administrator ausgeführt zu werden, der den Code ohne Erfolg ausführt. Der Schlüssel ist bereits vorhanden, es wird nicht versucht, in die CreateKey-Methode zu wechseln. Hier ist der Codeblock.

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;
    }

Muss ich die Registrierungsstruktur manuell durchgehen, um jeden OpenSubKey-Aufruf auf beschreibbar zu setzen? Ich habe es auch versucht, warf aber immer noch den gleichen Fehler ...

Antworten auf die Frage(6)

Ihre Antwort auf die Frage