Windows服务提供说明:<failed to =“”read =“”description =“”error =“”code =“”2 =“”> </failed>

时间:2012-10-31 07:32:30

标签: c# windows-services

我已经厌倦了通过注册表卸载已禁用的Windows服务 它已从注册表中删除,但仍显示在Services.msc中 与

  

描述:无法读取描述错误代码2

7 个答案:

答案 0 :(得分:13)

直觉/你是如何到达那里的 -

我假设你在这个错误消息中找到了其中一个或两个。 a。通过HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services手动从注册表中删除密钥,并从此处删除服务)

b。这项服务处于“自动”启动状态 - 所以在删除服务时会以某种方式误导“自动启动” - 因此产生此代码无法读取描述错误代码2。原因如下 - 您应该停止服务,或者在执行此操作之前将其更改为“手动启动”。

如何修复它以及对我有用的东西 -

[1]在管理模式下转到cmd提示符(表示选择cmd - &gt;“以管理员身份运行”)

你应该在“C:/ windows / system32 /” [如果你处于管理模式,这应该是默认的,如上所述] 类型 - &gt; sfc / scannow 在此之后,扫描将开始,并显示以下日志 -

  

开始系统扫描。这个过程需要一些时间。

     

系统扫描的开始验证阶段。验证100%   完成。 Windows资源保护找到了损坏的文件,但是   无法解决其中一些问题。详细信息包含在CBS.Log中   WINDIR \日志\ CBS \ cbs.log中。例如C:\ Windows \ Logs \ CBS \ CBS.log

     

系统文件修复更改将在下次重新启动后生效。

[2] 最后重新启动系统!该服务将不再出现在services.msc。

答案 1 :(得分:3)

请按照instructions to remove the service进行操作。确保使用服务的名称,而不是其显示名称!

此后服务不应显示在Services.msc中,但您可能仍然在事件查看器中有旧项目无法正确显示其描述。

答案 2 :(得分:2)

此错误表示注册表[ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services ]中的服务描述密钥已删除,但内存中的服务描述尚未清除。要解决此问题,请重新启动PC / Server并重试。

答案 3 :(得分:2)

  1. 使用“以管理员身份运行”
  2. 打开cmd
  3. 以cmd:sc delete "service name which you want to delete"
  4. 运行

答案 4 :(得分:1)

我还使用Windows注册表删除了我的服务。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]

在我的情况下,我没有重启我的电脑,我只是重新启动任务管理器,已删除的服务不再存在。

答案 5 :(得分:0)

我尝试了上面列出的几乎所有解决方案。最终对我有用的是从任务管理器中将其删除。

我正在使用Apache的ProcRun应用程序将Java代码包装在Windows服务中。尽管任务管理器中的命令行详细信息有助于识别运行该服务的进程。只需删除该过程即可解决问题!

答案 6 :(得分:0)

对于那些因为在不应该删除的情况下从注册表中删除了服务而来到这里的任何人,只需重新启动您的机器并再次安装该服务就可以了。