从注册表中删除文件夹 - 权限问题

San*_*ile 1 c# registry winforms

我试图从注册表中删除一个文件夹.假设我要删除该文件夹

Software\TeamViewer
Run Code Online (Sandbox Code Playgroud)

我已经编写了代码,但它给出了一个例外情况"你不能写".我想它的权限和访问权限有些问题.

string keyapath = @"Software\TeamViewer";
RegistryKey regKeyAppRoot = Registry.CurrentUser.OpenSubKey(keyapath);
regKeyAppRoot.DeleteSubKeyTree(keyapath);
Run Code Online (Sandbox Code Playgroud)

如何授予我的软件从注册表中删除文件夹的权限?

编辑: 我有我的系统的管理员权限.我是否仍需要通过我的代码专门为应用程序分配权限?

C-F*_*C-F 5

OpenSubKey带有一个参数的方法打开读取键.使用其他OpenSubKey方法变体:

OpenSubKey(String, Boolean) - 传递true第二个参数以打开具有通用写访问权限的密钥

OpenSubKey(String, RegistryKeyPermissionCheck) - 允许对子键的权限检查进行一些精确控制

OpenSubKey(String, RegistryKeyPermissionCheck, RegistryRights) - 如上所述,但您可以准确指定所需的权限.

有关详细信息,请参阅MSDN