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?
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>
où <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.
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:
Exécuter Regedit ou Regedt32
Accédez à l'entrée de registre "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services".
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.
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
Voici le script powershell permettant de supprimer un service foo
$foo= Get-WmiObject -Class Win32_Service -Filter "Name='foo'"
$foo.delete()
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.
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.
J'utiliserais PowerShell pour cela
Remove-Service -Name "TestService"
https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.management/remove-service