Cómo solucionar el error "El servicio especificado ha sido marcado para eliminación"
Intento eliminar un servicio de Windows con sc delete <service name>
y encuentro el siguiente error:
[SC] Eliminar servicio FALLÓ 1072:
El servicio especificado ha sido marcado para su eliminación.
Lo que ya he hecho:
Detuvo el servicio, obviamente. El
sc queryex "<service name>"
da el siguiente resultado: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 :
Se aseguró de que Microsoft Management Console esté cerrado (
taskkill /F /IM mmc.exe
),Se aseguró de que el Visor de eventos esté cerrado .
Se eliminó la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nombre del servicio> del registro .
Debido a esta eliminación,
services.msc
todavía se muestra el servicio (con un nombre, pero sin estado ni tipo de inicio), pero la descripción es “<Error al leer la descripción. Código de error: 2 >”. Al intentar ver las propiedades, "El sistema no puede encontrar el archivo especificado". se muestra cinco veces.
El problema persiste.
¿Cuál es el próximo paso?
Puede haber varias causas que hagan que el servicio quede bloqueado en "marcado para eliminación".
Se abre el Explorador de procesos de SysInternals . Cerrarlo debería conducir a la eliminación automática del servicio.
Se abre el Administrador de tareas .
Se abre Microsoft Management Console (MMC) . Para asegurarse de que todas las instancias estén cerradas, ejecute
taskkill /F /IM mmc.exe
.Se abre la consola de servicios . Esto es lo mismo que el punto anterior, ya que la consola de Servicios está alojada en MMC.
Se abre el Visor de eventos . Nuevamente, esto es lo mismo que el tercer punto.
La clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{nombre del servicio} existe .
Alguien más ha iniciado sesión en el servidor y tiene abierta una de las aplicaciones mencionadas anteriormente.
Está abierta una instancia de Visual Studio utilizada para depurar el servicio .
Esto también puede deberse a dejar abierta la consola de Servicios. En realidad, Windows no eliminará el servicio hasta que se cierre.
En mi caso funcionó luego de cerrar la Services
ventana y verificar que el servicio no tenía procesos abiertos. Compruebe si la Services.msc
ventana está abierta. Si es así, ciérrelo. Luego verifique Task Manager
si el servicio en cuestión tiene algún proceso en ejecución. Si es así, elimínelos haciendo clic derecho en cada uno y eligiendo "Finalizar tarea" en el menú contextual.