DeleteSubKey UnauthorizedAccessException
Я пытаюсь написать быстрое приложение для изменения некоторых разделов реестра. Когда я просматриваю через RegEdit, я могу без проблем изменять и удалять ключи.
Но когда я пытаюсь использовать RegistryKey.DeleteSubKey()
, он выдает UnauthorizedAccessException
.
Есть ли способ получить привилегии для этого? Кроме того, почему возникла проблема, если у моей учетной записи пользователя есть доступ, чтобы внести изменения?
Edit:
Здесь некоторый код
RegistryKey reg;
try
{
reg = Registry.CurrentUser.OpenSubKey(BaseKey);
reg.DeleteSubKey("{" + Item.Guid.ToString() + "}");
}
catch
{
return false;
}
Ответы
Ответ 1
Попробуйте это вместо этого, сначала откройте его как чтение/запись, а не только для чтения:
RegistryKey reg;
try
{
reg = Registry.CurrentUser.OpenSubKey(BaseKey, true); //<--over here!
reg.DeleteSubKey("{" + Item.Guid.ToString() + "}");
}
catch
{
return false;
}