【发布时间】:2013-12-31 22:55:57
【问题描述】:
我尝试使用sc delete <service name> 删除 Windows 服务,但遇到以下错误:
[SC] 删除服务失败 1072:
指定的服务已被标记为删除。
我已经做了什么:
-
显然停止了服务。
sc queryex "<service name>"给出以下结果: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),-
由于此次删除,
services.msc仍然显示服务(有名称,但没有状态或启动类型),但描述为“”。尝试查看属性时,“系统找不到指定的文件。”显示五次。
问题依然存在。
下一步是什么?
【问题讨论】:
-
重新启动通常会清除任何挥之不去的状态。
-
我知道。但我想到了一个不太激进的解决方案。就我而言,每天重启 30 次不是一个可接受的解决方案。
-
“你为什么要定期删除服务?”:我正在写一个 Windows 服务。每次编译时,都应该重新启动。 “但是每天在注册表中进行 30 次黑客攻击是可以接受的吗?”:完全可以。从注册表中删除一个键并不强制我保存所有内容,关闭每个打开的应用程序,等待一分钟,然后重新打开所有内容。
-
我写过windows服务。除非您更改执行注册的实际代码,否则每次构建时都无需卸载并重新安装它。只要路径不变,旧的注册信息仍然有效。
-
@NickTurner - 链接到任何错误报告?无论您指的是什么错误,我都没有遇到过。而且我不确定 MSI 是如何参与的,因为我们大概是在谈论在开发机器上构建和运行服务(至少这似乎是这个 5 年前的问题的上下文)
标签: windows-services