Kasowanie klucza rejestru

0

Na próbie skasowania klucza napotkałem błąd.

public string keyName = "Software\\DemoStore";
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);

            if (regKey == null)
            {
                MessageBox.Show("You have run the application for the fist time. You have to specifize the location..... ");
                FolderBrowserDialog selectingPath = new FolderBrowserDialog();
                selectingPath.ShowDialog();

                regKey = Registry.CurrentUser.CreateSubKey(keyName); 
                regKey.SetValue("LocationPath", selectingPath.SelectedPath);
            }
            
            //dla dalszego monitu programu chcę skasować w tym miejscu utworzony klucz
               
            regKey.DeleteSubKey(keyName);
            regKey.Close();
UnauthorizedAccessExeption was unhandled.   
Nie można zapisać w kluczu rejestru.

Dla linijki: regKey.DeleteSubKey(keyName);

pzdr

0

RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);

        if (regKey == null)
        {
        // ...
        }
        
        //dla dalszego monitu programu chcę skasować w tym miejscu utworzony klucz
           
        regKey.DeleteSubKey(keyName);
        regKey.Close();

Jeżeli klucza nie ma to też próbujesz go usunąć?
0
asdf napisał(a)

RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);

        if (regKey == null)
        {
        // ...
        }
        
        //dla dalszego monitu programu chcę skasować w tym miejscu utworzony klucz
           
        regKey.DeleteSubKey(keyName);
        regKey.Close();
> 
> Jeżeli klucza nie ma to też próbujesz go usunąć?


Instrukcja warunkowa if już nie jest wykonywana. Więc klucz istnieje :)

asdf, mój lek an całe zło ;)
0

Dziwna sytuacja:

try
            {

                RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName,true);

                if (regKey == null)            //  1   
                {
                    MessageBox.Show("Nie istnieje");
                    regKey = Registry.CurrentUser.CreateSubKey(keyName);
                }
                else
                {
                    MessageBox.Show("Istnieje");
                }
                regKey.DeleteSubKey(keyName,true);           //    2     
                regKey.Close();
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }

Dziwna sytuacja, w 1 klucz istnieje, a w 2 już nie...

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