我想爲下面的註冊表路徑中的'NoModify'設置一個值。 「HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ XXXX」SetValue 64bit機器註冊表
我使用下面的代碼,它只適用於X86機器。你能看出爲什麼這不適用於x64機器嗎?
// 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();
}
}
闡述 「不工作」。它是否在錯誤的註冊表中設置了值,它是否因錯誤而失敗?不要讓我們處於黑暗中。 – vladr
什麼是releaseFlags? – Kiquenet