Instalé un servicio de Windows usando installUtil.exe.
Después de actualizar el código, utilicé installUtil.exe nuevamente para instalar el servicio sin desinstalar primero la versión original.
Cuando ahora trato de desinstalar el servicio, installUtil.exe completa la desinstalación con éxito, pero el servicio aún aparece.
Si intento cambiar sus propiedades, recibo el mensaje 'el servicio está marcado para su eliminación'.
¿Cómo puedo forzar la eliminación (preferiblemente sin reiniciar el servidor)?
.net
windows-services
Manu
fuente
fuente
Respuestas:
Una cosa que me ha sorprendido en el pasado es que si tiene el visor de servicios ejecutándose, eso evita que los servicios se eliminen por completo, tan cerca que de antemano
fuente
No tiene que reiniciar su máquina. Inicie cmd o PowerShell en modo elevado.
Entonces obtendrás información. Se mostrará un número PID.
Donde / f es forzar la parada.
Ahora puede instalar o iniciar su servicio.
fuente
sc.exe queryex <SERVICENAME>
. Porquesc
también es un alias paraSet-Content
, fallará SILENCIOSAMENTE cuando lo uses.bueno, puede usar SC.EXE para eliminar cualquier Servicio de Windows con fuerza si la desinstalación no se elimina por casualidad.
Lea más sobre "MS Techno Blogging" Eliminando Servicios con Fuerza de los Servicios MMC
fuente
sc delete
también informará "el servicio está marcado para su eliminación" si hay un identificador abierto para el servicio.Sé que esto no va a ayudar, pero podría ayudar a alguien en el futuro.
Acabo de tener el mismo problema, cerrar y volver a abrir el administrador de servicios eliminó la entrada del registro y completó la desinstalación del servicio.
Antes de eso, actualizar el gerente de servicios no había ayudado.
fuente
Solo asegúrese de detener el servicio antes de hacer esto. He visto este trabajo la mayoría de las veces. Hay momentos en que he visto que las ventanas se atascan en algo e insiste en reiniciar.
fuente
Cierre cmd y la ventana de servicios si está abierto, luego inicie cmd nuevamente haciendo clic derecho y seleccionando ejecutar como administrador. Si
sc delete sericeName
no funciona o algo no funciona.http://weblogs.asp.net/avnerk/archive/2007/09/05/windows-services-services-msc-and-the-quot-this-service-is-marked-for-deletion-quot-error. aspx
fuente
Lamentablemente, debe reiniciar el servidor. Eso debería eliminar el servicio "eliminado".
fuente
En caso de que esta respuesta ayude a alguien: como se encuentra aquí , puede ahorrarse muchos problemas para ejecutar Sysinternals Autoruns como administrador. Simplemente vaya a la pestaña "Servicios" y elimine su servicio.
Me funcionó en una máquina donde no tenía permiso para editar el registro.
fuente
Puede eliminar manualmente la clave de registro para su servicio, ubicado en
HKLM\SYSTEM\CurrentControlSet\Services
, después de eso no verá el servicio en el administrador de control de servicios (necesita actualizar o volver a abrir para ver el cambio), y puede reinstalar el servicio como de costumbre.fuente
Lo siguiente funcionará sin reiniciar la máquina:
fuente
¿Has intentado detener el servicio antes de llamar a desinstalar? Tuve este problema al azar. En algún momento podría eliminarlo sin reiniciar. Supongo que tiene que ver con que el servicio aún se esté ejecutando.
fuente
Llego tarde, pero me gustaría agregar una alternativa, que puede parecer extraña, pero no vi otra forma:
Al instalar mis Servicios de Windows en un proceso de CI cada noche, necesitaba algo que funcionara todo el tiempo y que estuviera completamente automatizado. Por alguna razón, los servicios siempre se marcaron para su eliminación durante mucho tiempo (5 minutos o más) después de desinstalarlos. Por lo tanto, extendí el script por lotes de reinstalación para asegurarme de que el servicio realmente se elimina (versión simplificada):
Lo que puedo ver es que el servicio está marcado para su eliminación durante aproximadamente 5 minutos (!) Hasta que finalmente se completa. Finalmente, no necesito más intervenciones manuales. Extenderé el script en el futuro para que algo suceda después de un cierto tiempo (por ejemplo, notificación después de 30 minutos).
fuente
Esto funciono para mi
fuente
ReturnValue : 16
, entonces el comando falló con " Este servicio se está eliminando del sistema ". Lista completa de los ReturnValues de Microsoft aquíSi no puede detener el servicio en Servicios , puede detener su exe de servicio de Windows en el Administrador de tareas . Después de eso, puede eliminar el servicio.
fuente
Actualizar la lista de servicios siempre lo hizo por mí. Si la ventana de servicios está abierta, mantendrá algo de memoria existente por algún motivo. F5 y estoy reinstalando de nuevo!
fuente
También asegúrese de que no haya instancias del ejecutable aún activo (quizás uno que podría haber estado ejecutándose, por cualquier razón, independientemente del servicio).
Estaba abriendo y cerrando MMC y buscando los PID para matar, pero cuando buscaba en el explorador de procesos había un par de procesos existentes que se ejecutaban desde un lote programado olvidado. Los mató Trabajo hecho.
fuente
Hay muchas preguntas en el foro sobre ese tema.
He encontrado la respuesta en la API de Windows. No necesita reiniciar la computadora después de desinstalar el servicio. Tienes que llamar a:
Eso cierra el mango del servicio. En Windows 7 resolvió mi problema. Hago:
fuente
Utilizo el siguiente PowerShell improvisado desde algunos lugares para nuestras instancias de Octopus Deploy cuando TopShelf falla o un servicio falla por alguna otra razón.
fuente
También vale la pena señalar que esto:
no funciona en PowerShell, sc es un alias para el cmdlet Set-Content en PowerShell. Necesitas hacer:
fuente