Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Créer et installer un service Windows à l'aide de Visual Studio

Par Baptiste GILLET Publié le 14/04/2020 à 13:36:48 Noter cet article:
(0 votes)
En attente de relecture par le comité de lecture

Introduction

Microsoft permet à ses développeurs de créer des services qui tourne en tâche de fond.

Malheureusement, il faut réaliser plusieurs manipulations avant de pouvoir avoir un service Windows personnalisé tournant en tâche de fond et visible dans le gestionnaire de services Windows

C'est ce que nous allons voir tout au long de ce tutoriel !

Pré-recquis :

  • Visual Studio

    Ici, c'est Visual Studio 2019 que j'utilise, certaines images ou manipulation que vous verrez lors de ce tutoriel pourraient varier si vous choisissez une autre version de Visual Studio.

Création du projet de service Windows

Tout d'abord, il faut créer un projet de service Windows comme ci-dessous :

Puis le nommez et choisir son Framework, ici nous le nommeront NewServiceWindows et nous choisirons le Framework le plus élevé, actuellement .NET Framework 4.7.2, comme ci-dessous :

Une fois le projet créé, il suffit de développer le service qui convient à votre envie ...

Enregistrer le service dans la liste des Services Windows

Après le développement de votre service, il vous faudras l'enregistrer dans le gestionnaire de services windows.

Car comme vous pourrez le voir, il est impossible de lancer le service directement à partir de Visual Studio.

Pour cela, ouvrez une fenêtre CMD en administrateur sinon cela ne fonctionnera pas, puis taper cette commande:

sc Create Servicename binPath="Project/bin/Debug/Project.exe"

Pour ma part, voici la commande que j'ai exécuté:

sc Create NewService binPath="C:\Users\Baptiste\source\repos\NewServiceWindows\NewServiceWindows\bin\Debug\NewServiceWindows.exe"

Vous pouvez directement voir votre service dans le gestionnaire de services, bien sûr il n'est pas actif, il faut le lancer !

Debugger le service Windows à l'aide de Visual Studio

Tout d'abord, je conseille en phase de développement de mettre un délai au démarrage de votre service car le seul moyen de débugger un service est de lancer le service via le gestionnaire de services puis grâce à Visual Studio dans l'onglet Déboguer / Attacher au processus ... vous pourrez rattacher votre service (qui est déjà lancé) à Visual Studio et déboguer normalement, ce qui prend un peu de temps et vous pourrez rater des opérations éffectuées par votre service!

Une fois le processus rattaché, vous pourrez déboguer comme il vous semble ...

Supprimer le service Winbdows

Dans le cas où ce n'est pas la version finale de votre service, vous aurez surement à supprimer votre service afin de le modifier!

Pour cela, ouvrez une fenêtre CMD en administrateur sinon cela ne fonctionnera pas, puis taper cette commande:

sc Delete Servicename

Pour ma part, voici la commande que j'ai exécuter:

sc Delete NewService

Vous pouvez directement voir que votre services n'est plus dans le gestionnaire de service

L'opération Suppression / Création devra être effectuer à chaque modification du service.

Conclusion

Dans cet article, nous avons donc vu la:

  • Création d'un projet de services Windows

  • Création d'un service Windows à partir d'un exécutable

  • Suppression d'un service Windows

  • Déboguage d'un service Windows

J'espère que ce tutoriel vous aura plu, pour ma part j'ai eu un réel plaisir à le rédiger, j'epère qu'il vous aura été utile !

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels