web-dev-qa-db-fra.com

Comment désinstaller un service Windows alors qu'il n'y a plus d'exécutable sur le système?

Comment désinstaller un service Windows alors qu'il n'y a plus d'exécutable sur le système? Je ne peux pas exécuter installutil -u car il ne reste plus d'exécutable sur le système. Je peux toujours voir une entrée pour le service dans la console Services.

La raison de cet état est probablement due à un problème dans le package msi qui ne supprime pas le service correctement, mais comment puis-je le résoudre une fois que le service est dans cet état?

158
Magnus Lindhe

Vous devriez pouvoir le désinstaller à l'aide de sc.exe (je pense qu'il est inclus dans le Kit de ressources Windows) en exécutant ce qui suit dans une invite de commande "administrateur":

sc.exe delete <service name>

<service name> est le nom du service lui-même tel que vous le voyez dans la console de gestion du service, pas du fichier exe.

Vous pouvez trouver sc.exe dans le dossier System. Il doit disposer de privilèges d'administrateur pour s'exécuter. Plus d'informations dans cet article de la base de connaissances Microsoft .

Vous pouvez également appeler directement le DeleteService () api. Cette méthode est un peu plus complexe, car vous devez contacter le gestionnaire de contrôle de service via OpenSCManager () et ainsi de suite, mais d’un autre côté, cela vous permet de mieux contrôler ce qui se passe.

312
Treb

Supprimer le service Windows via le registre

Il est très facile de supprimer un service de la base de registre si vous connaissez le bon chemin. Voici comment j'ai fait ça:

  1. Exécuter Regedit ou Regedt32

  2. Accédez à l'entrée de registre "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services".

  3. Recherchez le service que vous souhaitez supprimer et supprimez-le. Vous pouvez consulter les clés pour savoir quels fichiers le service utilisait et les supprimer également (si nécessaire).

Supprimer le service Windows via la fenêtre de commande

Vous pouvez également utiliser la commande Invite et supprimer un service à l'aide de la commande suivante:

sc delete

Vous pouvez également créer un service en utilisant la commande suivante

sc crée "MorganTechService" binpath = "C:\Program Files\MorganTechSPace\myservice.exe"

Remarque: Vous devrez peut-être redémarrer le système pour que la liste soit mise à jour dans Service Manager.

24
kombsh

trouvé ici

Je viens d'essayer sur Windows XP, cela a fonctionné

ordinateur local: sc \\. supprimer [nom du service]

  Deleting services in Windows Server 2003

  We can use sc.exe in the Windows Server 2003 to control services, create services and delete services. Since some people thought they must directly modify the registry to delete a service, I would like to share how to use sc.exe to delete a service without directly modifying the registry so that decreased the possibility for system failures.

  To delete a service: 

  Click “start“ - “run“, and then enter “cmd“ to open Microsoft Command Console.

  Enter command:

  sc servername delete servicename

  For instance, sc \\dc delete myservice

  (Note: In this example, dc is my Domain Controller Server name, which is not the local machine, myservice is the name of the service I want to delete on the DC server.)

  Below is the official help of all sc functions:

  DESCRIPTION:
    SC is a command line program used for communicating with the
    NT Service Controller and services. 
  USAGE:
          sc
11
Fredou

Voici le script powershell permettant de supprimer un service foo

$foo= Get-WmiObject -Class Win32_Service -Filter "Name='foo'"
$foo.delete()
10
Nima Soroush

Ma façon préférée de faire est d'utiliser l'application Sysinternals Autoruns . Il suffit de sélectionner le service et appuyez sur Supprimer.

9
Thomas Bratt

Créez une copie des exécutables du même service et collez-la sur le même chemin d'accès au service existant, puis désinstallez-la.

3
Samiksha

J'utiliserais PowerShell pour cela

Remove-Service -Name "TestService"

https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.management/remove-service

1
JoeRod