SetValue 64-Bit-Computerregistrierung

Ich möchte einen Wert für "NoModify" unter dem Registrierungspfad festlegen. "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ XXXX"

Ich verwende den folgenden Code und er funktioniert nur für X86-Computer. Können Sie einen Grund erkennen, warum dies auf x64-Computern nicht funktioniert?

// This value is correct
RegistryView registryView = releaseFlags.Contains("PLATFORM_X86") ? RegistryView.Registry64 : RegistryView.Registry32;

    using (RegistryKey hkeyLocalMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, registryView))
    {
        RegistryKey noModifyKey = hkeyLocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{xxxx}", true); //SL: Key Name

        if (noModifyKey != null)
        {
            noModifyKey.SetValue("NoModify", 0);
            noModifyKey.Flush();
        }
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage