Enregistrer un exe comme service windows

Bonjour,

J’aimerais enregistrer un exécutable fait maison comme service windows de sorte qu’il apparaisse dans les processus au démarrage du pc.

Cet exécutable lance une fenetre graphique effectuée en c++, mais j’aimerais qu’elle n’apparaisse pas à l’écran (exécution en background)

Savez vous comment procéder ?

Merci
@++

Salut,

J’avais noté ( un jour) comment faire, justement, mais pas eu le temps de m’en occuper depuis.

Donc, voici

il y a d’abord cette fiche Microsoft:

How To Create a User-Defined Service
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q137/8/90.asp&NoWebContent=1

et appliquer les instructions.

il y est fait mention de 2 fichiers à posséder:
srvany.exe
instsrv.exe

ce sont ces fichiers qui sont à trouver sur le web, ou sur un CD de Resource Kit Microsoft NT ( le genre de CD qu’on n’a pas chez soi, mais plutot dans des bureaux d’etudes ,enfin , bon)

ou ces notes qui résument la meme opération : ( impossible de retrouver où je les aies prises : Web , Presse ? je les recopie telles quelles … )


Tout d'abord il faut posséder les deux fichiers suivant : srvany.exe et instsrv.exe (faites une recherche sur google pour les trouver).

Ensuite copiez-les dans le répertoire C:\windows\system32 puis cliquez sur Démarrer > Exécuter et entrez la commande

instsrv Mon_Service srvany.exe
executer un programme en tant que service

Dans le gestionnaire de services, vous verrez alors apparaître une nouvelle entrée du nom de Mon_Service. Maintenant, cliquez sur Démarrer > Exécuter, puis tapez "regedit" sans les guillemets. Développez l'arborescence HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mon_service\Parameters et ajoutez les 2 clés suivantes:

"Application" de valeur le chemin jusqu'à l'exécutable
"AppDirectory" de valeur le chemin jusqu'au dossier de l'exécutable

Il ne reste plus qu'à lancer le service soit par le gestionnaire soit par la commande

net start Mon_Service

voilà , au boulot :smiley:

Salut à vous deux :slight_smile:

@Mike,
Tu devrais pouvoir retrouver la source de ton fiche avec comme mot clé Q137890 sur le site de Microsoft.

@silver95:
Puisque tu codes en C++, si tu as MSDN, ledit article y est :
Q137890 : HOWTO: Create a User-Defined Service
(Collection KB Windows).
Autrement, si tu veux diffuser ton log et tes utilisateurs n’ont pas à effectuer ces manips, faut les coder dans la phase init du programme. Le forum programmation devrait t’être utile.

nglechau [:smokingmen]
j’ai retrouvé la source :smiley:
http://lsage.developpez.com/faqxp/?page=progservice#progenservice
c’est une FAQ de Développez.com
j’avais même changé le mot “ensutie” par “ensuite”

je viens de trouver ailleurs comment faire : chez JC Bellamy
http://www.bellamyjc.net/fr/windowsnt.html#serviceNT
photos d’ecran , bien expliqué comme tout son site d’ailleurs

Pour récupérer le Ressource Kit NT:
il est téléchargeable chez Microsoft:
http://www.microsoft.com/downloads/details.aspx?FamilyID=3e972e9a-e08a-49a2-9d3a-c0519479e85a&displaylang=en

bon, là, je crois qu’on a tout :smiley:

Bonjour, j’ai une question, une fois qu’on a créer un service, si on veut le supprimer proprement comment fait on?
J’ai bien dit supprimer pas arreter…

Merci d’avance

Salut,

Il suffit de l’arrêter dans le gestionnaire de service, puis supprimer cette clé de registre :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services<nom_du_service>]

(==> après la suppression, si on a tjs le gestionnaire de service ouvert, il suffit de rafraîchir l’interface pour voir que le service personalisé a disparu de la liste)

Il ne reste plus qu’à supprimer le fichier exécutable si on ne veut plus de lui :slight_smile:

aucun probleme pour creer le service grave a instsrv, mais lorsque je cherche a lancer celui ci, il m’affiche l’erreur 1053 suivante: “le service n’a pas repondu assez vite a la demande de lancement ou de contrôle.”

j’ai pourtant suivis les informations notees.
quelqu’un aurait-il une idee de la provenance de ce message ?

ps: la creation par firedaemon a bien reussit, mais je ne peux l’utiliser car non seulement le logiciel est payant (et mes patrons n’aiment pas payer^^), mais en plus il surcharge la liste des services et la base de registre inutilement par rapport a l’autre methode.
je suis sous Xp dans un reseaux novell

merci d’avance