Créer un service avec un exécutable

Lundi 6 juillet 2009 à 20:26

Avant toutes manipulations pensez à  sauvegarder votre base de registre. Pour plus d’info cliquez ici.

Il peut arriver parfois que vous ayez besoin de mettre un fichier .exe en tant que service afin de faciliter certaines tâches. Voici la procédure pour le faire :

  • PREPARATION :

1. Copiez l’exécutable que vous voulez comme service dans le répertoire de votre choix.

2. Téléchargez les deux fichiers nécessaires pour la création du service .

3. Décompressez le contenu dans C:\Windows\system32 afin qu’ils soient reconnus en ligne de commande. Ouvrez l’invite de commande MS-DOS (démarrer > exécuter > CMD > OK)

  • INSTALLATION :

Etape 1 : Déclaration en tant que service NT grâce à INSTSRV.EXE

Ouvrez un fenêtre de commande (démarrer > exécuter > cmd > OK)

Syntaxe : instsrv [nom_service] [chemin_programme]

Etape 2 : Vérifiez que le service a bien été ajouté en consultant la liste des services (démarrer > exécuter > services.msc > OK)

Etape 3 : Modification du chemin “ImagePath” dans le registre:

1. Ouvrez l’entrée de la base de registre (démarrer > exécuter > regedit > OK)

2. Placez vous dans l’arborescence HKLM\SYSTEM\CurrentControlSet\Services\[nom de l’exécutable] .

Modifier la valeur de l’entrée “ImagePath” en C:\windows\system32\srvany.exe
(Elle doit être le chemin complet vers SRVANY.EXE (pensez à ajouter des guillemets si votre chemin contient des espaces)
Le service est désormais créé. Cependant si vous essayez de le démarrer maintenant vous recevrez un message d’erreur, ce qui est tout à fait normal.

Dans l’étape suivante nous allons indiquer où ce situe notre application, pour que lorsque le SCM lance SRVANY, ce dernier trouve notre application et le démarre correctement.

Etape 4 : Ajout d’une clé “Parameters”:

  1. Naviguez jusqu’à la clé du service que vous venez de déclarer, ici : HKLM\SYSTEM\CurrentControlSet\Services\[nom de l’exécutable]
  2. Créez une clé “Parameters” (Edition > Nouveau > Clé)

Etape 5 : Ajout d’une valeur “Application”:

1. Ouvrez la clé “Parameters”

2. Créez une clé “Application” de type chaîne (REG_SZ) dans la clé “Parameters” (Clic Droit \ Edition > Nouveau > Valeur > Chaine)

3. Editez “Application” et déclarez-y le chemin complet vers notre exécutable. Si vous avez suivi nos pré-requis ce chemin est “C:\[nom de l’exécutable]”.

Etape 6 : Interagir avec le bureau :
Une fois le service lancé il est exécuté en arrière plan, de manière transparente. Afin de contrôler le lancement de votre service je vous invite à activer cette option la première fois. Le programme exécuté en tant que service apparaîtra ainsi de la même façon que si vous le lanciez manuellement en tant que simple programme.

1. Retournez dans la console de services (démarrer > exécuter > services.msc > OK)

2. Double-cliquez sur le service en question.

3. Cliquez sur l’onglet “Connexion”

4. Cochez l’option ”Autoriser le service à interagir avec le bureau” :

5. Validez avec le bouton “OK »

6. Redémarrez le PC.

Vous pouvez laisser un commentaire, ou un trackback depuis votre site.

6 Responses to “Créer un service avec un exécutable”

  1. bumpyx dit:

    Lundi 6 juillet 2009 à 23 h 19 min

    Testé et approuvé – nice work boy !

  2. rem-s dit:

    Mercredi 29 août 2012 à 18 h 59 min

    Thanks mate !

  3. Vincent1184 dit:

    Lundi 3 septembre 2012 à 11 h 17 min

    Salut, j’ai suivi la procédure mais j’ai un message d’erreur: Error 5: Access is denied

    pourtant je suis admin de la machine.

  4. Loko dit:

    Mardi 6 novembre 2012 à 18 h 48 min

    Bonjour

    J’ai voulu effectuer cette installation, mais je n’ai pas d’entrée HKLM\SYSTEM\CurrentControlSet\Services dans mon Windows Server 2008.

    J’ai cherché imagepath, sans succès non plus.

    Où cela peut il se cacher ?

  5. cedJohns dit:

    Jeudi 7 mars 2013 à 11 h 38 min

    Super boulot, vraiment un grand merci pour cette procédure claire et efficace !

  6. __ dit:

    Mardi 11 mars 2014 à 4 h 23 min

    Very nice post. I just stumbled upon your weblog and wished to mention that I have really
    loved browsing your blog posts. After all I will be subscribing
    for your rss feed and I hope you write again very soon!

Laisser un commentaire