我尝试用sc delete <服务名>删除一个Windows服务,并遇到以下错误:

[SC] DeleteService FAILED 1072: 指定的服务已标记为删除。

我已经做了:

Stopped the service, obviously. The sc queryex "<service name>" gives the following result: SERVICE_NAME: Stub service TYPE : 10 WIN32_OWN_PROCESS STATE : 1 STOPPED WIN32_EXIT_CODE : 1067 (0x42b) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 0 FLAGS : Ensured that Microsoft Management Console is closed (taskkill /F /IM mmc.exe), Ensured that Event Viewer is closed, Removed the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name> from the registry. Due to this removal, services.msc still shows the service (with a name, but no status or startup type), but the description is “<Failed to Read Description. Error Code: 2 >”. When attempting to view the properties, “The system cannot find the file specified.” is shown five times.

问题依然存在。

下一步是什么?


当前回答

根据这里的一些答案所建议的关闭服务控制台确实允许我删除服务。在我的场景中,这只是一个短期的修复,因为所有后续的重新安装和删除服务都需要我采取这些额外的步骤。回顾我的网页。配置文件时,发现有一个错误,一旦修复,允许我轻松删除服务,而无需额外关闭服务控制台步骤。

其他回答

可能有几种原因导致服务卡在“标记为删除”中。

SysInternals' Process Explorer is opened. Closing it should lead to automatic removal of the service. Task Manager is opened. Microsoft Management Console (MMC) is opened. To ensure all instances are closed, run taskkill /F /IM mmc.exe. Services console is opened. This is the same as the previous point, since Services console is hosted by MMC. Event Viewer is opened. Again, this is the same as the third point. The key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{service name} exists. Someone else is logged into the server and has one of the previously mentioned applications opened. An instance of Visual Studio used to debug the service is open.

在我的情况下,这是由创建eventLog源时未处理的异常引起的。使用try catch来确定原因。

按照上面的建议删除注册表项使我的服务停留在停止状态。下面的步骤对我很有效:

打开任务管理器>选择服务选项卡>选择服务>右键单击选择“转到进程”>右键单击进程选择“结束进程

服务应该在那之后就结束了

打开Services控制台也可能导致这种情况。直到关闭该服务,Windows才会删除该服务。

根据这里的一些答案所建议的关闭服务控制台确实允许我删除服务。在我的场景中,这只是一个短期的修复,因为所有后续的重新安装和删除服务都需要我采取这些额外的步骤。回顾我的网页。配置文件时,发现有一个错误,一旦修复,允许我轻松删除服务,而无需额外关闭服务控制台步骤。