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 ?
Réponses
Trop de publicités?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.
Pedro Pereira
Points
170
Hemant
Points
7612
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
parRunspaceInvoke
ou en créant votre propreRunspace
et à l'aide de sonCreatePipeline
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
AlexDrenea
Points
3434