Question

I have written a Windows service in C#.

I have since installed it on my machine, and it runs just fine.

When you install a service, does the exe get copied somewhere? Or does it point to my bin folder?

This is for me to know that when I update my code from time to time, do I have to uninstall and re-install my service to update it?

Was it helpful?

Solution

If you want to update your Service automatically, you can use a framework such as Google Omaha. This is the technology which Google use to update Chrome. It works well with Services because it runs silently in the background, just like a Service. This article gives more information about using Omaha to auto-update a Service.

On the other hand, if you want to manually update your Service: If the Service's location has not changed and the name of its executable has not changed, you should not have to uninstall and reinstall it. You can simply stop the service with net stop, update its executable with a new version, and start it again with net start. This approach worked reliably for me for many months.

OTHER TIPS

You can check the path of installed service by opening services.msc from Run. Then right click your service and see the 'Path to executable'.

If this points to your bin directory, then it will be updated every time you compile successfully.

enter image description here

You should uninstall the old windows service and install new version of windows service.

uninstall:

   installutil /u yourproject.exe

install:

   installutil yourproject.exe
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top