service windows

Lancement

Un service windows est un programme qui fonctionne en tâche de fond. On peut les gérer via une console mmc Il est aussi possible de les gérer via la ligne de commande

net start NameOfService
net stop NameOfService

Création

il faut télécharger le ressource kit qui se trouve à cette adresse http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en puis créer ces services

C:\Program Files\Resource Kit\Instsrv.exe utorrent C:\Program Files\Resource Kit\Srvany.exe
instsrv.exe Nom_du_serviceRemove

NB: # il faut utiliser bat2exe pour pouvoir créer un fichier exe # il est possible d’utiliser un autre outil pour utiliser n’importe quel exe en tant que service (voir ruby on railsredmine)

exemple création d’un service redmine

"C:\Program Files\Windows Resource Kits\Tools\"Instsrv.exe redmine "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"
  • modifier la clé de registre “HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/redmine”
_images/20101216_1.jpg
_images/20101216_2.jpg
  • créer des dépendances avec d’autres services si besoin (ex le service de la base de donnée)
_images/20101228_1.jpg
  • lancer le service
_images/20101216_3.jpg
  • arrêt / lancement des services en ligne de commande
  • créer le service redmine
Net stop redmine
Net start redmine

Autre possibilité sous windows < 2003

sc create nameService binPath= "Path\service.exe" DisplayName= nameService start= auto
sc delete nameService

puis faire doc pour innosetup pour créer et supprimer un service

[Run]
Filename: "{app}\bin\create_sc.bat"; Parameters:"{app}\bin\{#MyAppExeName}"; Description: "Install as service"; Flags: nowait postinstall
[UninstallRun]
Filename: sc; Parameters: delete dashboard; Flags: nowait

Autre possibilité sous windows7 et 2008

faire une tache planifié avec pour déclencheur: au démarrage du système