В моем консольном приложении я хочу создать значение DWORD и установить его значение 2 для моего раздела реестра в Локальной машине. Обратите внимание, у меня есть права администратора на моей машине.
Ниже приведен мой код, который успешно выполняется, но я не могу увидеть, чтобы какое-либо значение устанавливалось в реестре.
string keyPathI = @"SOFTWARE\Microsoft\Terminal Server Client";
string keyPathII = @"SOFTWARE\WOW6432Node\Microsoft\Terminal Server Client";
RegistryKey keyOne = Registry.LocalMachine.OpenSubKey(keyPathI, true);
RegistryKey keyTwo = Registry.LocalMachine.OpenSubKey(keyPathII, true);
if (keyOne != null)
{
keyOne.SetValue("RemoteDesktop_SuppressWhenMinimized", 2, RegistryValueKind.DWord);
keyOne.Close();
}
if (keyTwo != null)
{
keyTwo.SetValue("RemoteDesktop_SuppressWhenMinimized", 2, RegistryValueKind.DWord);
keyTwo.Close();
}
Вот мой app.manifest
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Что еще мне нужно сделать, чтобы записать значения в подраздел реестра?
P.S .: Хотя в Интернете много похожих статей, я отсылал их все, но ни одна из них не помогла мне.