如何解决“指定的服务已被标记为删除”错误

本文翻译自:How to solve “The specified service has been marked for deletion” error

I try to remove a Windows Service with sc delete <service name> , and encounter the following error: 我尝试使用sc delete <service name> Windows服务,并遇到以下错误:

[SC] DeleteService FAILED 1072: [SC] DeleteService失败1072:

The specified service has been marked for deletion. 指定的服务已标记为删除。

What I've already done: 我已经完成的工作:

The problem persists. 问题仍然存在。

What is the next step? 你下一步怎么做?


#1楼

参考:https://stackoom.com/question/1OH70/如何解决-指定的服务已被标记为删除-错误


#2楼

There may be several causes which lead to the service being stuck in “marked for deletion”. 可能有多种原因导致服务卡在“标记为删除”中。

  1. SysInternals' Process Explorer is opened . SysInternals的Process Explorer打开 Closing it should lead to automatic removal of the service. 关闭它会导致服务自动删除。

  2. Task Manager is opened . 任务管理器已打开

  3. Microsoft Management Console (MMC) is opened . Microsoft管理控制台(MMC)已打开 To ensure all instances are closed, run taskkill /F /IM mmc.exe . 要确保关闭所有实例,请运行taskkill /F /IM mmc.exe

  4. Services console is opened . 服务控制台已打开 This is the same as the previous point, since Services console is hosted by MMC. 这与上一点相同,因为Services控制台由MMC托管。

  5. Event Viewer is opened . 事件查看器已打开 Again, this is the same as the third point. 同样,这与第三点相同。

  6. The key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\{service name} exists . 密钥HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ {服务名称}存在

  7. Someone else is logged into the server and has one of the previously mentioned applications opened. 其他人登录到服务器 ,并打开了前面提到的应用程序之一。

  8. An instance of Visual Studio used to debug the service is open. 用于调试服务的Visual Studio实例已打开。


#3楼

This can also be caused by leaving the Services console open. 这也可能是由于打开服务控制台导致的。 Windows won't actually delete the service until it is closed. 在关闭服务之前,Windows实际上不会删除该服务。


#4楼

In my case, it was caused by unhandled exception while creating eventLog source. 就我而言,这是由创建eventLog源时未处理的异常引起的。 Use try catch to pin point the cause. 使用try catch查明原因。


#5楼

发现了另一项要检查的内容-在任务管理器中查找-如果其他用户已连接到此框,即使他们已“断开连接”,您也必须实际注销他们才能最终删除该服务。


#6楼

Deleting registry keys as suggested above got my service stuck in the stopping state. 如上所述删除注册表项会使我的服务陷入停止状态。 The following procedure worked for me: 以下过程对我有用:

open task manager > select services tab > select the service > right click and select "go to process" > right click on the process and select End process 打开任务管理器>选择服务选项卡>选择服务>右键单击并选择“转到流程”>右键单击该流程,然后选择“结束流程”

Service should be gone after that 在那之后服务应该消失了

<think>好的,我现在需要解决用户遇到的Windows服务卸载问题。用户说他们尝试卸载名为“ZSCService”的服务时,遇到了错误1072,提示“指定服务标记删除”,但服务仍然存在且无法正常运行。我需要逐步分析可能的原因,并提供可行的解决方案。 首先,了解错误1072的含义。根据微软文档,错误代码1072通常表示服务已经被标记删除,但尚未从服务控制管理器(SCM)的数据库中完全移除。这可能发生在服务正在被其他进程使用,或者系统需要重启才能完成删除操作。 接下来,可能的解决步骤包括: 1. **重启系统**:因为服务可能已经被标记删除,但需要重启才能生效。这是最直接的方法,用户可能已经尝试过,但如果没有,建议先重启。 2. **检查服务进程**:使用任务管理器或`tasklist /svc`命令查看是否有相关进程仍在运行。如果有,结束该进程可能允许服务被正确删除。 3. **使用SC命令强制删除**:虽然`sc delete`通常用于删除服务,但可能需要强制结束相关进程后再执行命令。或者尝试使用`sc delete ZSCService`再次删除。 4. **使用第三方工具**:如Process Explorer,查找并结束与服务相关的句柄或进程,这可能解除系统对服务文件的锁定。 5. **检查注册表残留项**:手动删除服务在注册表中的条目,路径是`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ZSCService`。但修改注册表有风险,需谨慎操作,建议备份。 6. **安全模式**:在安全模式下重启,这样第三方服务和程序不会自动启动,可能更容易删除服务。 7. **系统文件检查**:运行`sfc /scannow`检查系统文件完整性,排除系统组件损坏的可能。 8. **使用PowerShell命令**:尝试`Remove-Service -Name ZSCService`,看是否有效。 在步骤中需要注意权限问题,所有操作可能需要管理员权限。特别是注册表编辑和系统命令的执行,必须使用管理员命令提示符或PowerShell。 另外,用户提到服务无法正常运行,可能已被部分删除或损坏。这种情况下,重新安装服务或使用安装程序提供的卸载工具可能更有效。如果服务属于某个软件,检查该软件是否有专门的卸载程序。 最后,如果所有方法都无效,可能需要使用启动修复或系统还原点,恢复到之前的状态。</think>遇到Windows服务“ZSCService”卸载失败并提示错误1072时,可按照以下步骤排查和解决--- ### **1. 重启系统** - **原因**:服务标记删除,但系统尚未释放相关资源。 - **操作**:立即重启计算机,这是最快捷的解决方案。重启后检查服务是否已消失。 --- ### **2. 强制终止残留进程** - **原因**:服务进程可能仍在后台运行,导致系统无法删除- **操作**: 1. 以管理员身份打开命令提示符(CMD)或PowerShell。 2. 执行命令查看进程: ```cmd tasklist /svc | findstr "ZSCService" ``` 3. 若找到相关进程,记录其PID(进程ID),执行: ```cmd taskkill /F /PID <PID> ``` 4. 再次尝试卸载服务: ```cmd sc delete ZSCService ``` --- ### **3. 使用第三方工具解除文件锁定** - **推荐工具**:[Process Explorer](https://learn.microsoft.com/zh-cn/sysinternals/downloads/process-explorer) - **操作**: 1. 以管理员身份运行Process Explorer。 2. 按 `Ctrl+F` 搜索“ZSCService”。 3. 结束关联的进程或句柄(Handles)。 --- ### **4. 手动清理注册表(谨慎操作)** - **警告**:错误修改注册表可能导致系统不稳定,建议先备份。 - **步骤**: 1. 按 `Win+R` 输入 `regedit` 打开注册表编辑器。 2. 导航至路径: ``` HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ZSCService ``` 3. 右键删除整个“ZSCService”项。 4. 重启系统。 --- ### **5. 安全模式下操作** - **适用场景**:常规模式下无法终止进程或删除服务- **操作**: 1. 重启进入安全模式(开机时按 `F8` 或通过系统配置 `msconfig` 设置)。 2. 在安全模式下重复步骤2或步骤4。 --- ### **6. 检查服务文件残留** - **操作**: 1. 打开服务管理器(`services.msc`),找到“ZSCService”,右键查看属性中的“可执行文件路径”。 2. 手动删除对应的文件(通常位于 `C:\Windows\System32` 或软件安装目录)。 3. 重启后再次尝试删除服务--- ### **7. 使用PowerShell命令** - **操作**: ```powershell Remove-Service -Name "ZSCService" -Force ``` --- ### **若仍未解决** - **可能原因**:系统核心组件损坏或服务依赖项异常。 - **建议操作**: - 运行系统文件检查: ```cmd sfc /scannow ``` - 使用系统还原点恢复到问题发生前的状态。 --- ### **总结流程图** ```mermaid graph TD A[错误1072: 服务标记删除] --> B{重启系统} B -->|成功| C[问题解决] B -->|失败| D[强制终止进程] D --> E[使用sc delete或PowerShell删除] E -->|失败| F[手动清理注册表] F -->|失败| G[安全模式操作] G -->|失败| H[检查文件残留或系统修复] ``` 请按顺序尝试上述方法,通常重启或终止进程即可解决。如涉及重要数据,操作前建议备份系统。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值