Bonjour.
L'application sur laquelle je travaille déploie un service Windows.
Lors de la mise à jour de l'application, le service est désinstallé puis réinstallé.
Je ne peux pas modifier ce comportement là.
Or, il arrive que le service se mette en "disabled" lors de la désinstallation. Du coup le service n'est pas supprimé, et donc ne peut être réinstallé automatiquement.
La seule solution est un reboot de la machine et relancer manuellement le script d'installation du service.
L'exécution de ce script nécessite les droits admin sinon l'ajout du service ne se fait pas.
Ce que je voudrais faire, c'est automatiquement détecter que le service est "disabled" et programmer une tache planifiée qui s'exécutera au prochain reboot de la machine afin de pouvoir installer le service qui manque.
Est-ce que c'est faisable ?
J'ai fait un script qui vérifie l'état du service, et programme une tache planifiée :
1. Ajout de la tache planifiée
J'ai l'impression que le script est appelé par la tache planifiée, mais le service n'est pas ajouté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 sc query nomAppli | find "STATE" | find "STOPPED" if %ERRORLEVEL% NEQ 0 Goto end echo checking service start type : disabled sc qc nomAppli | find "START_TYPE" | find "DISABLED" if %ERRORLEVEL% NEQ 0 Goto end echo Adding a new task at startup time to reinstall service schtasks /Create /TN nomTache /RU SYSTEM /TR <chemin_vers_le_script>\script.bat /SC ONSTART :end echo End of script
Si vous avez des pistes, je vous en remercie par avance
EDIT : j'ai ajouté une trace dans un fichier à la fin de l'exécution du script appelé par la tache planifiée. Le script est effectivement appelé, mais le service n'est pas créé.
Partager