我已经厌倦了通过注册表卸载禁用的 Windows 服务它已从注册表中删除,但仍显示在 Services.msc 中
描述:未能读取描述错误代码 2
直觉/你是如何到达那里的 -
我假设您执行了其中一项或两项操作以进入此错误消息。a.通过 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 从注册表中手动删除密钥并从此处删除服务)
b.此服务处于“自动”启动状态-因此,删除该服务以某种方式误导了“自动启动”-因此产生了此代码 Failed to read description 错误代码 2 。原因如下 - 在执行此操作之前,您应该停止服务,或将其更改为“手动启动”。
如何解决它以及对我有用的方法-
[1]在管理员模式下进入 cmd 提示符(意思是选择 cmd ->“以管理员身份运行”)
你应该在"C:/windows/system32/" [如果你在管理员模式下,这应该是默认的,如上所述] 类型 -> sfc /scannow 在此之后扫描将开始并且将出现以下日志 -
开始系统扫描。这个过程需要一些时间。
开始系统扫描的验证阶段。验证 100% 完成。Windows 资源保护发现损坏的文件,但无法修复其中一些。详细信息包含在 CBS.Log windir\Logs\CBS\CBS.log 中。例如 C:\Windows\Logs\CBS\CBS.log
系统文件修复更改将在下次重启后生效。
[2]最后重新启动您的系统!并且该服务将不再出现在 services.msc 中。
sc delete "service name which you want to delete"
按照这些说明删除服务。确保您使用服务的名称,而不是其显示名称!
之后,该服务不应显示在 Services.msc 中,但您可能在事件查看器中仍有无法正确显示其描述的旧项目。
此错误表示注册表 [ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services ] 中的服务描述键已删除,但内存中的服务描述尚未清除。要解决此问题,请重新启动 PC / 服务器并重试。
我还使用 Windows 注册表删除了我的服务。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]
在我的情况下,我没有重新启动我的电脑,我只是重新启动任务管理器并且删除的服务不再存在。
我尝试了上面列出的几乎所有解决方案。最终对我有用的是从任务管理器中删除它。
我正在使用 Apache 的 ProcRun 应用程序将我的 Java 代码包装在 Windows 服务中。而任务管理器中的命令行详细信息有助于识别运行服务的进程。只需删除该过程即可解决问题!
对于因为在不应该从注册表中删除服务而出现在这里的任何人,只需重新启动计算机并再次安装该服务就可以了。