我厌倦了通过注册表卸载禁用的 Windows 服务 它已从注册表中删除,但仍显示在 Services.msc 中 与
描述:无法读取描述错误代码2
直觉/你如何到达那里 -
我假设您执行了其中一个或两个操作才出现此错误消息。 a.通过HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services从注册表中手动删除该键并从此处删除服务)
b.此服务处于“自动”启动状态 - 因此删除该服务会在“自动启动”中产生某种误导 - 因此产生此代码 Failed to read description error code 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 服务中。而任务管理器中的命令行详细信息有助于识别运行该服务的进程。只需删除该进程即可解决问题!
就我而言,我需要包含
.exe
扩展以在 sc
中运行 cmd
命令。
在不使用
sc
扩展的情况下运行 .exe
将不会返回任何输出,也不会删除服务。
我添加了一个
.exe
,命令显示了输出[SC] DeleteService SUCCESS
并且服务已成功删除。
sc.exe delete "servicename"