servicios servicio remover puedo programa eliminar desinstalar cómo como comando borrar .net windows-services

.net - remover - Cómo forzar la desinstalación del servicio de Windows



no puedo desinstalar un programa en windows 10 (18)

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 intento desinstalar el servicio, installUtil.exe completa la desinstalación con éxito, pero el servicio aún aparece.

Si trato de cambiar sus propiedades, recibo el mensaje "el servicio está marcado para eliminación".

¿Cómo puedo forzar la eliminación (preferiblemente sin reiniciar el servidor)?


¿Has intentado detener el servicio antes de llamar a la desinstalación? Tuve este problema al azar. En algún momento podría eliminarlo sin reiniciar. Supongo que tiene que ver con el servicio todavía en funcionamiento


Actualizar la lista de servicios siempre lo hizo por mí. Si la ventana de servicios está abierta, mantendrá algún recuerdo de ella existiendo por alguna razón. F5 y estoy reinstalando nuevamente!



En caso de que esta respuesta ayude a alguien: como se encuentra here , puede ahorrarse muchos problemas al ejecutar Sysinternals Autoruns como administrador. Simplemente vaya a la pestaña "Servicios" y elimine su servicio.

Me funcionó en una máquina en la que no tenía permiso para editar el registro.


Esto funcionó para mí

$a = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq ''psexesvc''} $a.Delete()


Hay muchas preguntas en el foro sobre ese tema.

He encontrado la respuesta en la API de Windows. No es necesario reiniciar la computadora después de desinstalar el servicio. Tienes que llamar:

BOOL WINAPI CloseServiceHandle( SC_HANDLE hSCObject );

Eso cierra el mango del servicio. En Windows 7 resolvió mi problema. Hago:

  • parada de servicio
  • manija cerrada
  • servicio de desinstalación
  • espera 3 segundos
  • copiar nuevo exe al directorio
  • instalar el servicio
  • Comienza el servicio
  • manija cerrada

Lamentablemente, debes reiniciar el servidor. Eso debería eliminar el servicio "eliminado".


Llego tarde, pero me gustaría agregar una alternativa, que puede parecer extraña, pero no vi otra manera:

A medida que instalo mis Servicios de Windows en un proceso de CI cada noche, necesitaba algo que funcione todo el tiempo y esté completamente automatizado. Por algún motivo, los servicios siempre se marcaron para su eliminación durante un tiempo prolongado (5 minutos o más) después de desinstalarlos. Por lo tanto, extendí el script de lote de reinstalación para asegurarme de que el servicio realmente se eliminó (versión simplificada):

REM Stop the service first net stop My-Socket-Server REM Same as installutil.exe, just implemented in the service My.Socket.Server.exe /u :loop1 REM Easy way to wait for 5 seconds ping 192.0.2.2 -n 1 -w 5000 > nul sc delete My-Socket-Server echo %date% %time%: Trying to delete service. if errorlevel 1072 goto :loop1 REM Just for output purposes, typically I get that the service does not exist sc query My-Socket-Server REM Installing the new service, same as installutil.exe but in code My.Socket.Server.exe /i REM Start the new service net start My-Socket-Server

Lo que puedo ver es que el servicio está marcado para su eliminación durante aproximadamente 5 minutos (!) Hasta que finalmente se realiza. Finalmente, no necesito más intervenciones manuales. Ampliaré el script en el futuro para que algo suceda después de un cierto tiempo (por ejemplo, notificación después de 30 minutos).


Lo siguiente funcionará sin reiniciar la máquina:

  1. Busque en el Registro / HKEY_LOCAL_MACHINE para <Your Service Name> (claves y valores)
  2. Establezca el valor "Legacy" en 0

No tiene que reiniciar su máquina. Inicie cmd o PowerShell en modo elevado.

sc.exe queryex <SERVICE_NAME>

Entonces obtendrás información. Se mostrará un número PID.

taskkill /pid <SERVICE_PID> /f

Donde / f es forzar la parada.

Ahora puede instalar o iniciar su servicio.


Puede eliminar manualmente la clave de registro para su servicio, ubicada en HKLM/SYSTEM/CurrentControlSet/Services , luego 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 volver a instalar el servicio como de costumbre.


Sé que esto no ayudará, pero podría ayudar a alguien en el futuro.

Acabo de tener el mismo problema, el cierre y la reapertura del administrador de servicios eliminó la entrada del registro y completó la desinstalación del servicio.

Anteriormente, refrescar el administrador de servicios no había ayudado.


Si no puede detener el servicio en Servicios , puede detener su servicio de Windows exe en el Administrador de tareas . Después de eso, puedes eliminar el servicio.


También asegúrese de que no haya instancias del ejecutable todavía activas (tal vez una que podría haberse estado ejecutando, por cualquier razón, independientemente del servicio).

Estaba abriendo y cerrando MMC y buscando los PID para matar, pero cuando busqué en el explorador de procesos había un par de procesos existentes que se ejecutaban desde un lote programado olvidado. Los mató. Trabajo hecho.


Una cosa que me ha sorprendido en el pasado es que si tiene el visor de servicios en ejecución, entonces eso evita que los servicios se eliminen por completo, así que cierre eso de antemano


Utilizo el siguiente PowerShell improvisado en algunos lugares para nuestras instancias de Octopus Deploy cuando TopShelf se estropea o un servicio falla por algún otro motivo.

$ServiceName = ''MyNaughtyService'' $ServiceName | Stop-Service -ErrorAction SilentlyContinue # We tried nicely, now KILL!!! $ServiceNamePID = Get-Service | Where { $_.Name -eq $ServiceName} # If it was hung($_.Status -eq ''StopPending'' -or $_.Status -eq ''Stopping'') -and $ServicePID = (Get-WmiObject Win32_Service | Where {$_.Name -eq $ServiceNamePID.Name}).ProcessID Stop-Process $ServicePID -Force



sc delete sericeName

Solo asegúrate de que el servicio esté detenido antes de hacer esto. He visto esto trabajar la mayoría de las veces. Hay momentos en los que he visto ventanas atascadas en algo e insiste en un reinicio.