2009-06-29 5 views
1

Récemment, j'ai eu un problème dans l'ordinateur d'un client. Notre installateur se bloquerait pendant l'installation et la désinstallation. Finalement, j'ai découvert que le service winmgmt ne fonctionnait pas, et que cela causait le problème. Pour une raison quelconque, il a été désactivé.Vérifiez si le service est en cours d'exécution dans WiX

Je voudrais ajouter une vérification à notre installateur, pour garantir que le service est en cours d'exécution lorsque l'installation commence. De préférence, avec un message d'erreur helful s'il n'est pas en cours d'exécution.

Je sais que je peux faire cette vérification avec une action personnalisée, en appelant QueryServiceStatusEx à partir d'un programme C. Cela peut probablement être fait d'une manière ou d'une autre dans VBS. Mais je voudrais éviter les actions personnalisées, si possible. Nous avons eu quelques problèmes avec les antivirus, et la dépendance avec WSH. Donc, en bref: Comment puis-je vérifier si un service est en cours d'exécution, dans WiX?

(je n'ai pas beaucoup d'expérience avec WiX. Le gars qui a écrit le programme d'installation quitté l'entreprise et maintenant je fais l'entretien)

Merci!

Répondre

3

Il n'y a rien intégré dans Windows Installer pour vérifier l'état d'un service. Vous aurez besoin d'un CustomAction. Comme vous avez trouvé le script CustomActions ne devrait pas être utilisé, voir: http://blogs.msdn.com/robmen/archive/2004/05/20/136530.aspx

+0

J'avais déjà lu cet article, mais merci quand même. Maintenant, je sais qu'il n'y a pas de construction intégrée. –

Questions connexes