Разрешение на запись в реестр

1
 RegistrySecurity rs = new RegistrySecurity();

 RegistryKey rk =
 RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).
 OpenSubKey("SOFTWARE\\MyApplication", true);

 rs.AddAccessRule(new RegistryAccessRule("Everyone",
 RegistryRights.WriteKey | RegistryRights.ReadKey | RegistryRights.Delete,
                        InheritanceFlags.None,
                        PropagationFlags.None,
                        AccessControlType.Allow));

Я пытаюсь предоставить доступ для записи всем пользователям системы для определенной папки в разделе ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ из реестра. но я не мог сделать это, используя код С#. пожалуйста, освободите меня от этого исправления.

  • 0
    Вы имели в виду «ключ реестра» вместо «папка»?
  • 0
    Кроме того, в чем ваша проблема?
Показать ещё 1 комментарий
Теги:
registry

1 ответ

3

//Полное решение:

        RegistrySecurity rs = new RegistrySecurity();
        RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ASUS", true);
        rs.AddAccessRule(new RegistryAccessRule("Everyone", RegistryRights.WriteKey |  RegistryRights.ReadKey, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Deny)); 
        if(rk != null)
        {
          rk.SetAccessControl(rs);
        }
  • 0
    я попытался с rk.setAccessContro; (rs) также, но исключение, показанное как «System.NullRefernceException: ссылка на объект не установлена на экземпляр объекта». что я делаю сейчас???
  • 0
    RegistrySecurity rs = new RegistrySecurity (); RegistryKey rk = RegistryKey.OpenBaseKey (RegistryHive.LocalMachine, RegistryView.Registry32) .OpenSubKey ("ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \\ ASUS", true); rs.AddAccessRule (new RegistryAccessRule («Все», RegistryRights.WriteKey | RegistryRights.ReadKey, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Deny)); rk.SetAccessControl (RS); MessageBox.Show ( "успех");
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню