« Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions.  »

Print Friendly, PDF & Email
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives
 

Configurez un programme pour être lancé en tant que service

Méthode Vista et supérieur

Télécharger "servicerunner".

Description

ServiceRunner permet d'exécuter des applications « ordinaires » en tant que service. Cela peut être utile pour des applications nécessitant un démarrage automatique mais qui ne s'installant pas en tant que service. ServiceInstaller ) permet d'installer des ServiceRunner comme service Windows. Les deux sont développé en c#.

Plus d'informations

Lorsque le service ServiceRunner est démarré, il lancera simplement le programme spécifié dans le fichier de configuration. Mais sachez que ce programme sera lancé dans le cadre d'un service, donc vous ne pouvez voir l'interface du programme.

Si vous préférez utiliser la ligne de commande outil sc ou un autre programme pour installer ServiceRunner.exe comme service Windows, vous ne devez utilisez ServiceInstaller.

Comment utiliser ServiceRunner :

Décompressez l’archive dans un répertoire, par exemple "programs files".

Entrez les valeurs souhaitées dans le fichier de configuration.

Le fichier de configuration doit être nommé "config.txt". Le fichier doit être situé dans le même répertoire que l'exécutable "ServiceInstaller.exe" et "ServiceRunner.exe".

"config.txt" doit contenir deux ou trois lignes :

  • La première ligne : le nom de service utilisé pour vous inscrire au service sur votre système.
  • La deuxième ligne : le chemin d'accès complet et le nom du fichier exécutable à exécuter par "ServiceRunner".
  • La troisième ligne (facultatif): les arguments à passer à l'exécutable spécifié dans la 2e ligne.

Exemple :

Service distant de Windows

C:\Program Files\wrs\wrs.exe

-s

Assurez-vous de ne pas faire une 4ème ou 6ème ligne vierge dans votre fichier de config ! Evitez Aussi de mettre des espaces de fin.

Lancer « ServiceInstaller.exe » tant qu'administrateur ou avec les privilèges d'administration..

Cliquez sur le bouton « Install ». Il installe « ServiceRunner.exe » comme service en utilisant le nom spécifié dans la première ligne du fichier de configuration (NomService) à l'aide de la ligne de commande suivante :

sc create [svcname] binpath= "[path]\ServiceRunner.exe" DisplayName= [svcname] type= own start= auto BTW

En cliquant sur « Uninstall » exécute la commande suivante :

sc delete [svcname]

Vous pouvez maintenant fermer "ServiceInstaller". Si le type de démarrage du service est sur « Automatique », il sera lancé automatiquement au démarrage de Windows avant que l’utilisateur atteigne l'écran d'ouverture de session.

Pour désinstaller votre service course "ServiceInstaller.exe" et cliquez sur "Uninstall".

Assurez-vous que vous avez arrêté le service avant de le désinstaller!

Informations supplémentaires :

"ServiceRunner.exe" ne peut pas être exécuté en double-cliquant sur le fichier. Il contient le code de service et seulement peut être démarré comme service.

Vous ne devez utiliser "ServiceInstaller.exe" pour installer le Service "ServiceRunner.exe". "ServiceInstaller.exe" existe uniquement pour configurer facilement le lancement du programme en tant que service.

Utilisez l'outil sc de la ligne de commande si vous voulez installer le service manuellement

A partir du moment où votre application est lancé en tant que service, aucune interface ne sera visible. Afin de s’assurer du bon lancement, vérifiez le gestionnaire de tâches (onglet "Processus") pour vérifier si votre programme a été lancé avec succès et est actuellement en cours d'exécution.

Si vous avez besoin de voir l’interface utilisateur (pour la configuration de votre application, par exemple) n'utilisez pas de « ServiceRunner.exe ».

  • Tuez le processus
  • Arrêter le service
  • Exécutez le programme directement (« en tant que »).

En cas d'erreur ou en cas de comportement inattendu, jeter un œil sur le fichier journal log.txt.

Méthode Windows 2000, XP et 2003 serveur

Télécharger les fichiers nécessaires (présent dans le Windows Server 2003 Ressource Kit)

Préparation des répertoires et des fichiers nécessaires :

  • créer un répertoire à la racine de C:/ qui contiendra votre programme en .exe (ici C:/inca)
  • copier dans le répertoire votre programme, ici inca.exe ainsi que son fichier de configuration (ici ports.dsr mais ce fichier est facultatif et ne pose aucun problème si votre programme n’en nécessite pas)
  • Deux fichiers sont nécessaires et propres à Windows (il permettront la création du service). Pour cela 2 options s’offrent à vous :

Création et enregistrement du service

Déclaration de SRVANY.EXE en tant que service NT grâce à INSTSRV.EXE

syntaxe : instsrv [nom_service] [chemin_programme]

instsrv inca « C:/inca/inca.exe »

Vérifiez que le service a bien été ajouté en consultant la liste des services

démarrer > exécuter > services.msc > OK

modification du chemin « ImagePath » dans le registre:

  • Ouvrez l’entrée de la base de registre (démarrer > exécuter > regedit > OK)
  • Placez vous dans l’arborescence HKLM\SYSTEM\CurrentControlSet\Services\inca (ou bien le nom de votre service s’il s’appelle autrement)

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éé.

Ajout d’une clé « Parameters »

  • Naviguez jusqu’à la clé du service que vous venez de déclarer, ici : HKLM\SYSTEM\CurrentControlSet\Services\inca
  • Créez une clé « Parameters » (Edition > Nouveau > Clé)

Ajout d’une valeur « Application »

  • Ouvrez la clé « Parameters »
  • Créez une clé « Application » de type chaîne (REG_SZ) dans la clé « Parameters » (Edition > Nouveau > Valeur > Chaine)
  • Editez « Application » et déclarez-y le chemin complet vers notre exécutable. Si vous avez suivi nos prérequis ce chemin est « C:\inca\inca.exe ». Nous précisons à inca notre fichier de règles qui doit être ouvert au lancement du logiciel ; la commande devient donc : « C:\inca\inca.exe » « C:\inca\ports.dsr »:

Interagir avec le bureau :

Une fois le service lancé il est exécuté en arrière plan, de manière transparente visuellement. 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.

  • retournez dans la console de services (démarrer > exécuter > services.msc > OK)
  • double-cliquez sur le service en question « inca » dans notre cas
  • cliquez sur l’onglet « Connexion »
  • cocher l’option »Autoriser le service à interagir avec le bureau » :
  • validez

Vous devez être authentifié pour pouvoir laisser des commentaires...

Print Friendly, PDF & Email

Error : File plugins/slideshowck/autoloadfolder/helper/helper_autoloadfolder.php not found !

CB Login