Sous Windows, il est possible de créer une dépendance de service. Le principe est assez simple.
Partont du fait que nous disposons de deux services A et B. Nous souhaitons créer une dépendance entre A et B de sorte que A dépende de B.Dans ce cas, le service A ne pourra démarrer que si le service B l'est déjà. Si une administrateur arrête le service B, Windows indiquera qu'il y a une dépendance avec le service A et proposera de l'arrêté aussi.
Il n'existe pas (à ma connaissance) d'interface Windows permettant de créer une dépendance entre service. Cela est généralement du au fait que les dépendances doivent être définie lors de l'installation et/ou de la conception. Cela est donc sous la gestion des concepteurs du service.
Cependant, nous ne sommes pas à l'abri d'un oubli, il y en a quelques exemples sur ce site et Microsoft n'est pas exant.
Il est assez simple de modifier les dépendances d'un service. Comme d'habitude, tout ce passe dans le registre.
Les modifications de la base de registre peuvent endommagé votre installation, il est donc primordial de faire une sauvegarde et d'effectuer des modifications avec prudence.
Rien de mieux qu'un exemple pour expliquer le fonctionnement. Nous allons créer une dépendance entre le service "Serveur DNS" et le service "Ouverture de session Windows".
- Nous devons obtenir les noms simples de nos services. Rien de plus simple, il suffit d'aller dans la console des services (Outils d'administrations ou éxecuter services.msc) : dns pour "Serveur DNS", netlogon pour "Ouverture de session Windows"
- Ensuite, nous ouvrons le registre et parcourons HKLM\SYSTEM\CurrentControlSet\Services.
- Tous les services enregistrés apparaîssent, nous y cherchons une clé nommé "NetLogon" (puisque c'est lui qui sera dépendant de DNS et non l'inverse).
- Dans la clé, nous allons trouver une entrée de type tableau de chaine (REG_MULTI_SZ) nommé "DependOnService"
- Cette entrée peut déjà contenir des valeurs, il ne vaut mieux pas les supprimer. On va juste ajouter ce qui nous interresse.
- Nous allons donc ajouter une ligne au tableau en indiquant "dns" (qui est le nom de notre service).
- Il est important de ne pas ajouter de retour chariot à la fin, car cela créerait une ligne vide et on aurait une jolie erreur.
- On ferme le registre et le tour est joué.
- On peut redémarrer les services concernés
Il est à noter qu'il n'y a pas de contrôle de la saisie. Vous devez donc vérifier soigneusement la syntaxe du nom du service. Bien que Windows ne soit pas sensible à la casse, je ne peux conseiller que de resaisir ou mieux de copier/coller le nom du service à ajouter en tant que dépendance.