2009-01-20 8 views
48

Est-il possible de déployer un service Windows à l'aide de ClickOnce? Si oui, comment y arrivez-vous?ClickOnce déployer un service Windows?

Actuellement, nous devons utiliser un projet de déploiement, et le processus d'installation pourrait être grandement simplifié en utilisant ClickOnce.

Répondre

-9

Vous pouvez utiliser le déploiement ClickOnce pour installer un service Windows. Cependant, d'après mon expérience, chaque fois qu'une mise à jour est publiée, l'intervention de l'utilisateur est nécessaire et cela rompt normalement la raison pour laquelle le programme fonctionne en tant que service Windows.

Toutefois, un problème que je n'ai jamais résolu complètement pour le service Windows, était l'exécution de installutil.exe pour installer le service dans la liste des services Windows. Mais ce n'était pas un problème pour les circonstances dans lesquelles j'ai été déployé.

28

AFAIK vous ne pouvez pas vraiment utiliser ClickOnce de bout en bout pour déployer un service; il existe des problèmes avec les emplacements de fichiers (ClickOnce installe dans le profil d'un utilisateur) et l'installation (ClickOnce est en grande partie sans effet secondaire).

Vous pouvez toutefois écrire un service en tant qu'exe pouvant s'auto-installer/désinstaller à partir de la liste de services, like so; Fondamentalement, vous l'écrivez comme un exe de console et manipulez quelques arguments de ligne de commande, en utilisant AssemblyInstaller pour [un] installer de l'assemblée courante. Un autre avantage est que la même approche peut être utilisée pour aider au débogage, puisque vous pouvez l'exécuter à partir de la ligne de commande.

+6

Vous souhaiterez peut-être consulter le projet Topshelf sous la forme d'un wrapper qui vous permet d'accéder facilement à des fonctionnalités extensibles telles que l'installation/la désinstallation automatique. http://topshelf-project.com/ –

1

Au lieu de ClickOnce, je tiens à utiliser l'approche à l'aide Inno Setup, comme ici https://stackoverflow.com/a/1450051/396200

Vous avez plus de contrôle sur quoi et comment seront copiés et exécutés. Comme Marc Gravell l'a dit dans sa réponse, je crée un exe qui installe automatiquement mon service, puis utilise Inno Setup pour l'emballer et le déployer. Une fois l'installation d'Inno installée, elle exécute automatiquement l'exe et ensuite mon exe installe mon service.

+0

HAHAHAHA. Script Pascal?!?! Écrit dans Borland Delpli?!?!? Oh boy ....: D Cela a fait ma journée. Merci Monsieur. – MoonStom

Questions connexes