Comment installer et désinstaller des services Windows

Remarque

Cet article ne s’applique pas aux services hébergés dans .NET. Pour obtenir le contenu des services Windows utilisant Microsoft.Extensions.Hosting.BackgroundService et le modèle Service Worker le plus récent, consultez :

Si vous développez un service Windows en utilisant le .NET Framework, vous pouvez installer rapidement votre application de service avec l’utilitaire en ligne de commande InstallUtil.exe ou PowerShell. Si vous voulez publier un service Windows que les utilisateurs peuvent installer et désinstaller, utilisez l’ensemble d’outils WiX gratuit, ou des outils commerciaux comme Advanced Installer et InstallShield. Pour plus d’informations, consultez Créer un package d’installation (bureau Windows).

Avertissement

Si vous voulez désinstaller de votre ordinateur un service que vous n’avez pas développé, ne suivez pas les étapes décrites dans cet article. Au lieu de cela, déterminez quel programme ou package logiciel a installé le service, puis choisissez Applications dans les paramètres pour désinstaller ce programme. De nombreux services font partie intégrante de Windows. Si vous les supprimez, vous pouvez rendre le système instable.

Pour utiliser les étapes décrites dans cet article, vous devez d’abord ajouter un programme d’installation de service à votre service Windows. Pour plus d’informations, consultez Procédure pas à pas : création d’une application de service Windows.

Vous ne pouvez pas exécuter les projets de service Windows directement à partir de l’environnement de développement Visual Studio en appuyant sur F5. Avant de pouvoir exécuter le projet, vous devez installer le service dans le projet.

Conseil

Vous pouvez utiliser l’Explorateur de serveurs pour vérifier que vous avez bien installé ou désinstallé le service.

Installer avec l’utilitaire InstallUtil.exe

  1. Ouvrez une invite de commandes développeur pour VS.

    Dans le menu Démarrer, sélectionnez Toutes les applications, développez Visual Studio <version>, puis sélectionnez Invite de commandes développeur pour VS< version>.

  2. Accédez au répertoire où se trouve le fichier exécutable compilé de votre projet.

  3. Exécutez InstallUtil.exe à partir de l’invite de commandes avec comme argument l’exécutable de votre projet :

    installutil <yourproject>.exe
    

    Si vous utilisez l’invite de commandes développeur pour Visual Studio, InstallUtil.exe est déjà dans le chemin système. Si ce n’est pas le cas, vous pouvez l’ajouter au chemin ou utiliser le chemin complet pour l’appeler. Cet outil est installé avec le .NET Framework dans %WINDIR%\Microsoft.NET\Framework[64]<>.

Désinstaller avec l’utilitaire InstallUtil.exe

  1. Ouvrez une invite de commandes développeur pour VS.

    Dans le menu Démarrer, sélectionnez Toutes les applications, développez Visual Studio <version>, puis sélectionnez Invite de commandes développeur pour VS< version>.

  2. Exécutez InstallUtil.exe à partir de l’invite de commandes avec l’option /uninstall et l’exécutable de votre projet :

    installutil /uninstall <yourproject>.exe
    
  3. Après avoir supprimé l’exécutable d’un service, il est possible que ce service soit toujours présent dans le Registre. Si c’est le cas, utilisez la commande sc delete pour supprimer l’entrée du service dans le Registre.

Installer avec PowerShell

  1. Dans le menu Démarrer, recherchez Windows PowerShell, puis sélectionnez-le.

  2. Accédez au répertoire où se trouve le fichier exécutable compilé de votre projet.

  3. Exécutez l’applet de commande New-Service avec comme arguments un nom de service et l’exécutable de votre projet :

    New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
    

Désinstallation à l’aide de PowerShell

  1. Dans le menu Démarrer, recherchez Windows PowerShell, puis sélectionnez-le.

  2. Exécutez l’applet de commande Remove-Service avec le nom de votre service comme argument :

    Remove-Service -Name "YourServiceName"
    

    Notes

    Vous devez avoir PowerShell 6 ou version ultérieure pour utiliser cette applet de commande. Pour plus d’informations sur la mise à jour de PowerShell, consultez Installation de PowerShell sur Windows.

  3. Après avoir supprimé l’exécutable d’un service, il est possible que ce service soit toujours présent dans le Registre. Si c’est le cas, utilisez la commande sc delete pour supprimer l’entrée du service dans le Registre.

    sc.exe delete "YourServiceName"
    

Voir aussi