c# - deletesubkeytree 不删除注册表文件夹
问题描述
我想删除“HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\EXAMPLE”下的注册表中名为EXAMPLE的文件夹及其中的所有值
我试过这个(最后也是真的)
Microsoft.Win32.Registry.LocalMachine.DeleteSubKeyTree(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\EXAMPLE");
并尝试了这个
string keyName = @"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(keyName, true))
{
key.DeleteSubKeyTree("EXAMPLE", true);
}
他们要么给我一个空异常或参数异常。我怎样才能删除带有所有键的整个文件夹?这样我就可以从批处理中获得类似的效果: REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\EXAMPLE" /f
解决方案
路径不正确,Registry.LocalMachine
没有这样的子键@"HKEY_LOCAL_MACHINE\..."
。你需要从"SOFTWARE\.."
.
string keyName = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
根据您的反馈,您的程序受到Registry Redirector的影响,其中HKEY_LOCAL_MACHINE\Software
被重定向到HKEY_LOCAL_MACHINE\Software\Wow6432Node
32 位程序,重新编译您的程序AnyCPU (Prefer 32-bit)
以x64
摆脱重定向。
不同 Windows 版本的机制Registry Redirector
有所不同,因此我将其留给您进一步阅读,以了解为什么 64/32 在这种情况下很重要。
推荐阅读
- java - 使用 POSTMAN 测试 API 时 AdapterSecurityContext 的客户端注册数据为空
- javascript - 如何在开始时使用 img 标签 src
如何在javascript源代码中动态使用带有src begin '<'c:url'>'的img标签
在 html 源代码中效果很好,但在 javascript 源代码中我不知道如何在字符串中使用 img 标签
[html]
<div> <img src="<c:url value="${contex
- android - 如何在 React Native 上集成 Android 应用事件?
- python - 分别为多个文件保存每个文件中的多个图形
- powershell - 尝试,在 powershell 调用命令中捕获
- javascript - 来自 redux 操作的 PUT 请求不起作用
- python - 如何使用 Python 将字节数组 b'2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04' 转换为可读字符串“20600”?
- django - 返回错误列表时出现问题
- android - 如何在搜索结果recycleview中添加空视图?
- firebase - Firebase/Google 分析与 Firebase 功能共享