what i am trying to do is to have multiple
user names and folder paths in one key.
so i have this structure
HKEY_LOCAL_MACHINE
— SOFTWARE
— XYZ
— userDB
now in userDB i have the info like this
> NAME TYpe Data
>
> Admin Reg_sz C:\Desktop
>
> Admin2 REG_SZ C:\xyz\logs
how can i read the values in userDB…
any suggestions.. thanks
i tried this code:
RegistryKey masterKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\xyz");
if (masterKey == null)
{
//Console.WriteLine("Null Masterkey!");
}
else
{
table.Rows.Add(false, masterKey.GetValue("userDB"), DateTime.Now);
dataGridView2.DataSource = table;
//Console.WriteLine("MyKey = {0}", masterKey.GetValue("userDB"));
}
masterKey.Close();
but i get the error
Access to the registry key ‘HKEY_LOCAL_MACHINE\SOFTWARE\xyz’ is denied.
While you talk about reading values in your topic, your code actually writes to the registry.
You can’t write to most of the
HKLMpart of the registry by default as a limited user. A limited users may not destroy/manipulate these keys because that’s a security risk.You could have your setup program(running with admin privs) change the permissions for your shared registry key. But that’s bad style, and I wouldn’t do it.
When using asp.net there might be additional restrictions related to the medium trust model.
You have:
RegistryKey.CreateSubKey is documented as:
Opening for write access most likely requires write privileges.
RegistryKey.OpenSubKeyis used to open a key for read access. So it most likely requires no writing privileges.