C# создают стоимость в реестре локальная машина

Следующий код не работает на меня:

public bool createRegistry()
{
    if (!registryExists())
    {
        Microsoft.Win32.Registry.LocalMachine.CreateSubKey("Software\\xelo\\");

        Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\xelo").SetValue("hostname", (string)hostname, Microsoft.Win32.RegistryValueKind.String);


        return true;
    }
    else
    {
        return updateRegistry();
    }
}

Исключение:

Система. UnauthorizedAccessException | "Не может записать в ключ реестра"

22
задан Stephen Kennedy 11 March 2018 в 12:02
поделиться

2 ответа

Пользователи без прав администратора и с правами администратора не имеют прав на изменение ключа HKEY_LOCAL_MACHINE. Запустите программу «от имени администратора».

27
ответ дан 29 November 2019 в 04:33
поделиться

Что ж, вы уже получили свой ответ - я предполагаю, что вы работаете в Vista или Windows 7 (или Server 2008) и процесс / пользователь запущенное приложение не имеет прав / разрешения на изменение реестра.

Так что это проблема не кода как такового, а проблема системного администратора. Создайте приложение, запустите его от имени администратора и посмотрите, работает ли оно.

0
ответ дан 29 November 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: