125 votes

Démarrer automatiquement un Service Windows lors de l’installation

J’ai un Service de Windows Installer en utilisant l’InstallUtil.exe. Même si j’ai mis la méthode de démarrage sur automatique, le service ne démarre pas lorsqu’il est installé, je dois ouvrir les services et cliquez sur démarrer manuellement. Est-il possible de le démarrer via la ligne de commande, ou dans le code du Service ?

230voto

codemonkey Points 3509

Dans votre classe Installer, ajoutez un gestionnaire pour l’événement AfterInstall. Vous pouvez ensuite appeler la ServiceController dans le gestionnaire d’événements pour démarrer le service.

Maintenant lorsque vous exécutez InstallUtil sur votre installateur il installera et puis démarrez le service.

32voto

Pedro Pereira Points 170

Après un peu de refactorisation, ceci est un exemple d’un installateur de service complet de windows avec démarrage automatique :

9voto

Hemant Points 7612

Que diriez-vous suivant commandes ?

5voto

Richard Points 54016

Des options de programmation pour le contrôle des services:

  • Code natif peut être utilisé, "Démarrage d'un Service". Un Maximum de contrôle avec un minimum de dépendances, mais le plus de travail.
  • WMI: Win32_Service a un StartService méthode. C'est bon pour le cas où vous avez besoin pour être en mesure d'effectuer un autre traitement (par exemple, pour sélectionner le service).
  • PowerShell: execute Start-Service par RunspaceInvoke ou en créant votre propre Runspace et à l'aide de son CreatePipeline méthode à exécuter. C'est bon pour le cas où vous avez besoin pour être en mesure d'effectuer un autre traitement (par exemple, pour sélectionner le service) avec beaucoup plus de facilité modèle de codage de WMI, mais dépend de la PSH en cours d'installation.
  • Un .NET application peut utiliser ServiceController

4voto

AlexDrenea Points 3434

Vous pouvez utiliser la ligne de commande suivante pour démarrer le service :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X