Brak uprawnień do zmian w rejestrze.

0

Witam,
mam problem z uzyskaniem uprawnień do zmian w rejestrze. Z pomocą google napisałem poniższy kod, jednak dalej program wyrzuca wyjątek przy wyrażeniu RK.SetAccessControl(RS). Program jest uruchamiany jako administrator. Wie ktoś o co chodzi?

 
public partial class Main : Form
    {
        private const string PATH = "Test";
        private RegistryKey RK;
       
        public Main()
        {
            InitializeComponent();

            string user = Environment.UserDomainName + "\\" + Environment.UserName;
            RegistryAccessRule rule = new RegistryAccessRule(user, RegistryRights.FullControl, AccessControlType.Allow);
            RegistrySecurity RS = new RegistrySecurity();
            RS.AddAccessRule(rule);

            RK = Registry.CurrentUser;
            RK = RK.OpenSubKey(PATH);
            RK.SetAccessControl(RS);
        }
0

przydał by się dokładny komunikat błędu
http://stackoverflow.com/questions/6455691/registrysecurity-access-is-denied-c-sharp

0

This:

RegistryKey rk = LocalMachine.OpenSubKey(subkey, RegistryKeyPremissionsCheck.ReadWriteSubTree, RegistryRights.ChangePermissions | RegistryRights.ReadKey);

Pomogło na powyższy problem, lecz wywala wyjątek przy metodzie RK.SetValue() :/

Tak nawiasem to śliska sprawa z tym rejestrem. Program zmienił w nim prawa na tyle, że nie mogłem się zalogować na swoje konto. Na szczęście przywracanie systemu pomogło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1