Reputation: 15511
I have the following:
Both client and agent can't function without the service. Our current installation is using ClickOnce
(the service is not yet deployed).
What I want:
ClickOnce
is very nice but not mandatory. If there are better solutions to meet my requirements, I will switch to them, providing that update is still possible (force update as well as an option to delay update).
Upvotes: 1
Views: 443
Reputation: 12938
I'll address the ClickOnce approach. An msi install might be more appropriate, but it sounds as though you want some sort of auto-updating. It might be easier to force your windows service install into a ClickOnce approach rather than make an msi install self-updating.
ClickOnce, at its core, is simple. It keeps files in a user's profile folder in sync with files on a server. This should work great for the Client and Agent apps. Not so much for the windows service.
For the service I would have ClickOnce deploy the service bits. Then write code that will execute in the Client/Agent to install/update the service.
I've found Topshelf to be pure awesome when working with services. It lets you write a standard console app which makes development easier. Then to install it you can call the console exe and pass an --install
switch. I think you could have that code execute whenever the Client/Agent starts and copy files, install/update/start/stop the service, and whatever else is necessary to make your service work.
Now for your numbered list...
Upvotes: 2