Невозможно записать в ключ реестра, получая исключение UnauthorizedAccessException
У меня есть служба Windows, которая пытается записать в раздел реестра в LOCAL_MACHINE
Ключ создается как часть пакета установщика Windows, управляющего службой Windows и автономного окна управления.
Окно управления может нормально читать и записывать раздел реестра, однако я не могу записать в раздел реестра, даже когда я предоставляю полные права на LOCAL SERVICE.
Это код, который выдает исключение:
private void updateLocalRegistryVersion(Double newVersion)
{
RegistryKey rk = Registry.LocalMachine;
RegistryKey sk = rk.OpenSubKey(@"Software\CompanyName\Monitoring\Values");
sk.SetValue("scriptversion", newVersion.ToString());
}
Какие-либо предложения?
1 ответ
Решение
RegistryKey.OpenSubKey(string)
не открывает ключ для записи. Попробуйте использовать OpenSubKey(string, bool)
перегрузка, чтобы указать, что вы хотите, чтобы ключ был доступен для записи.