590 votes

Comment désinstaller un service Windows si les fichiers n'existent plus ?

Comment désinstaller un service Windows .NET, si les fichiers du service n'existent plus ?

J'ai installé un service Windows .NET à l'aide de InstallUtil. J'ai depuis supprimé les fichiers mais j'ai oublié d'exécuter

 InstallUtil /u

d'abord. Ainsi, le service est toujours répertorié dans la MMC des services.

Dois-je entrer dans le registre ? Ou existe-t-il un meilleur moyen ?

3 votes

2 votes

Avez-vous aussi arrêté le service avant ? (--> net stop yourservice)

0 votes

Un fil de discussion très proche aquí .

1164voto

smink Points 39640

Vous avez au moins trois options. Je les ai présentées par ordre de préférence d'utilisation.

Méthode 1 - Vous pouvez utiliser le Outil SC (Sc.exe) inclus dans le kit de ressources. (inclus avec Windows 7/8)

Ouvrez une invite de commande et entrez

sc delete <service-name>

L'extrait d'aide de l'outil suit :

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

delete----------Deletes a service (from the registry).

Méthode 2 - utiliser delserv

Télécharger et utiliser l'utilitaire de ligne de commande delserv. Il s'agit d'un ancien outil développé pour Windows 2000. Dans les boîtes Windows XP actuelles, il a été remplacé par l'outil décrit dans la méthode 1.

Méthode 3 - supprimer manuellement les entrées du registre (Notez que cela ne fonctionne pas sous Windows 7/8).

Les services Windows sont enregistrés sous la clé de registre suivante.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Recherchez la sous-clé avec le nom du service sous la clé référencée et supprimez-la. (et vous devrez peut-être redémarrer pour supprimer complètement le service de la liste des services).

23 votes

La méthode 3 semble se retourner contre vous sous Windows 7.

29 votes

Avec la méthode 1, vous pouvez rencontrer l'erreur "Le service spécifié n'existe pas en tant que service installé", bien que vous voyiez le service dans la MMC !!! C'est parce que le nom que vous voyez est le DisplayName. Vous pouvez consulter le nom réel du service dans HKEY_LOCAL_MACHINE. \SYSTEM\CurrentControlSet\Services arbre et passe que comme nom de service.

9 votes

La méthode 3 a également échoué pour moi sous Windows 7. Le service est là maintenant avec la description <Failed to Read Description. Error Code: 2>

173voto

Dean Hill Points 2006

À partir de l'invite de commande, utilisez l'utilitaire Windows "sc.exe". Vous obtiendrez quelque chose comme ceci :

sc delete <service-name>

22 votes

S'il y a un espace dans le nom du service, mettez-le entre guillemets.

2 votes

Pourquoi est-ce que j'obtiens [SC] OpenService Failed 5 : Access is Denied.

12 votes

@AdrianEnriquez, exécuter cmd.exe en tant qu'administrateur a réglé le problème pour moi.

27voto

Michael Points 51

Notes sur l'utilisation de "sc delete" dans Windows 8 :

1) Ouvrez une fenêtre CMD avec des privilèges élevés. [Appuyez sur la touche Windows-X pour faire apparaître un menu avec l'option "Command Prompt (Admin)".
2) Utilisez le nom entre parenthèses de la liste dans Services [par exemple, j'ai utilisé "sc delete gupdate" alors que, dans Services, il s'agissait de "Google Update (gupdate)"].

22voto

Robin French Points 29

Certaines personnes mentionnent sc delete comme réponse. C'est ainsi que j'ai procédé, mais il m'a fallu un certain temps pour trouver l'adresse de l'ordinateur. <service-name> paramètre.

La commande sc query type= service (attention, le formatage est très particulier, l'espace avant "service" est nécessaire) produira une liste des services Windows installés, avec leur nom qualifié à utiliser avec la commande sc delete <service-name> commandement.

La liste est assez longue, vous pouvez donc envisager d'envoyer la sortie vers un fichier texte (par ex. >> C:\test.txt ) et de faire des recherches dans ce domaine.

El SERVICE_NAME est celui à utiliser avec sc delete <service-name> commandement.

2 votes

Voir mon commentaire sur la réponse acceptée. Le nom du service peut être déterminé rapidement en regardant la feuille de propriétés du service dans le panneau Services.

2 votes

C'était totalement inutile : s'ils apparaissent dans la liste des services, il suffit d'ouvrir les propriétés des services que vous voulez supprimer de la liste des services, sur la liste des services, et le nom du service s'affiche. Le "nom du service" indiqué dans les propriétés est également le même :)

2 votes

Oui, je sais que vous pouvez atteindre le nom par d'autres moyens. Je l'ai ajouté parce que j'avais du mal à savoir lequel des noms utiliser dans la commande. J'avais vu le nom listé dans les propriétés du service, mais je ne savais pas à ce moment-là que c'était le nom à utiliser dans la commande. L'utilisation de la ligne de commande était un bon moyen pour moi de vider tous les services installés, y compris le <nom_du_service> à utiliser pour le supprimer. J'avais quelques services qui en avaient besoin, il était donc plus facile pour moi d'extraire toute la liste dans un fichier pour pouvoir y accéder sans avoir à la rechercher dans le snap-in des services.

12voto

kombsh Points 740

Suppression du service Windows via le registre

Il est très facile de supprimer un service du registre si vous connaissez le bon chemin. Voici comment je l'ai fait :

  1. Exécuter Regedit o Regedt32

  2. Allez dans l'entrée de registre "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services".

  3. Recherchez le service que vous voulez 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

Alternativement, vous pouvez également utiliser l'invite de commande et supprimer un service en utilisant la commande suivante :

sc supprimer

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

sc create "MorganTechService" binpath= " C:\Program Fichiers \MorganTechSPace\myservice.exe "

Remarque : il se peut que vous deviez redémarrer le système pour que la liste soit mise à jour dans le gestionnaire de services.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X