web-dev-qa-db-fra.com

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

Comment désinstaller un service Windows .NET si les fichiers de 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é de courir

 InstallUtil /u

première. Le service est donc toujours répertorié dans la console MMC Services.

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

554
Thomas Jespersen

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 - utilisez delserv

Download et utilisez l'utilitaire de ligne de commande delserv. Il s'agit d'un outil hérité développé pour Windows 2000. Dans les zones Window XP actuelles, ceci a été remplacé par sc décrit dans la méthode 1.

Méthode 3 - supprimez manuellement les entrées de registre (notez que cela se retourne contre 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é mentionnée et supprimez-la. (et vous devrez peut-être redémarrer pour supprimer complètement le service de la liste des services)

1104
Jorge Ferreira

A partir de l'invite de commande, utilisez l'utilitaire Windows "sc.exe". Vous allez exécuter quelque chose comme ça:

sc delete <service-name>
163
Dean Hill

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

1) Ouvrez une fenêtre CMD avec des privilèges élevés. [Windows Key-X pour faire apparaître un menu avec l'option; sélectionnez "Invite de commande (Admin)".]
2) Utilisez le nom entre parenthèses de la liste dans Services [par exemple, j'ai utilisé "sc delete gupdate" lorsque, dans Services, il était indiqué "Google Update (gupdate)"]

27
Michael

Certaines personnes mentionnent sc delete comme réponse. Voici comment je l'ai fait, mais il m'a fallu un certain temps pour trouver le paramètre <service-name>.

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

La liste est assez longue, vous pouvez donc envisager de canaliser la sortie vers un fichier texte (c'est-à-dire >> C:\test.txt), puis d'effectuer une recherche.

Le SERVICE_NAME est celui à utiliser avec la commande sc delete <service-name>.

20
Robin French

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.

11
kombsh

Si vous souhaitez utiliser un outil, vous pouvez utiliser Process Hacker

Formulaire pour créer le service:

Process Hacker Create Service

Menu contextuel sur un service pour le supprimer:

Process Hacker Delete Service

Je trouve que Process Hacker est un outil plus pratique pour gérer les processus et services Windows que le propre Taskmgr.exe de Windows. Surtout sur Windows XP, où vous ne pouvez pas accéder aux services du gestionnaire de tâches.

9
Mike de Klerk

Je devais réinstaller mon service Tomcat, ce qui signifiait d'abord le supprimer. Cela a fonctionné pour moi:

Start a command Prompt window using run as administrator

sc query type= service >t.txt

(éditez le fichier t.txt, parcourez la liste et trouvez le service Tomcat. Il s’appelle Tomcat7)

sc delete Tomcat7

CEPENDANT, la commande de requête n'a pas fonctionné la première fois, car le service Tomcat n'était pas en cours d'exécution. Il semble ne lister que les services en cours d'exécution. Je devais démarrer le service et réexécuter la commande de requête.

4
user1208639

Si les fichiers Service .InstallLog et .InstallState d'origine se trouvent toujours dans le dossier, vous pouvez essayer de réinstaller le fichier exécutable pour remplacer les fichiers, puis utilisez InstallUtil/u, puis désinstallez le programme. C'est un peu compliqué, mais a fonctionné dans un cas particulier pour moi.

3
ja928

Vous pouvez essayer de lancer Autoruns , ce qui vous évitera de modifier le registre à la main. Ceci est particulièrement utile lorsque vous ne disposez pas des autorisations nécessaires.

3
Tan

1ère étape: accédez au répertoire où votre service est présent

Commande: cd c:\xxx\yyy\service

2ème étape: Entrez la commande ci-dessous

Commande: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe service.exe\u

Ici, service.exe est votre exe de service et\u désinstallera le service. vous verrez le message "La désinstallation est terminée".

Si vous souhaitez installer un service, supprimez\u dans la commande ci-dessus, ce qui installera votre service.

0
Sree

-Windows+r open cmd.

-sc YourSeviceName ce code supprime votre service.

-Uninstal "YourService Path" ce code désinstalle votre service.

0
Ayse Özbek

Nous avons découvert que même si vous exécutez sc_delete, il peut rester une entrée dans le registre de votre service, de sorte que la réinstallation du service entraîne la corruption d'un ensemble d'entrées de registre (elles ne correspondent pas). Ce que nous avons fait était de regedit et de supprimer cette entrée restante à la main.

Remarque: ShipmunkService est toujours affiché après sc_delete!

Ensuite, vous pouvez réinstaller et votre service fonctionnera correctement. Bonne chance à tous et que la force soit avec vous.

0
barclay

Vous pouvez désinstaller votre service Windows à l’aide de la commande Invite. Il suffit également d’écrire cette commande.

cd\                                                                   

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(or version in which you developed your service)                                           

installutil c:\\xxx.exe(physical path of your service) -d