Est-il possible de déployer un service Windows à l'aide de ClickOnce? Si oui, comment y parvenez-vous?
Actuellement, nous devons utiliser un projet de déploiement, et le processus d'installation pourrait être considérablement simplifié en utilisant ClickOnce.
AFAIK, vous ne pouvez pas vraiment utiliser ClickOnce de bout en bout pour déployer un service; il y a des problèmes avec les emplacements des fichiers (ClickOnce s'installe dans le profil d'un utilisateur) et l'installation (ClickOnce est largement sans effet secondaire).
Vous pouvez cependant écrire un service en tant qu'exe qui peut s'installer/désinstaller automatiquement à partir de la liste des services, comme ça ; Fondamentalement, vous l'écrivez comme un exe de console et gérez certains arguments de ligne de commande, en utilisant AssemblyInstaller
pour [dés] installer à partir de l'assembly actuel. Un autre avantage est que la même approche peut être utilisée pour faciliter le débogage, car vous pouvez l'exécuter à partir de la ligne de commande.
Je suppose que NON selon choisir entre ClickOnce et Windows Installer
Au lieu de ClickOnce, j'aime utiliser l'approche utilisant Inno Setup, comme ici https://stackoverflow.com/a/1450051/3962
Vous avez plus de contrôle sur ce qui et comment seront copiés et exécutés.
Comme l'a dit Marc Gravell dans sa réponse, je crée un exe qui installe automatiquement mon service, puis j'utilise Inno Setup pour l'empaqueter et le déployer. Après l'installation d'Inno, il exécute automatiquement l'exe puis mon exe installe mon service.