31

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?

J0e3gan
  • 8,740
  • 10
  • 53
  • 80
shenku
  • 11,969
  • 12
  • 64
  • 118
  • I would Create Setup project to install the windows service. – Damith Mar 04 '14 at 03:54
  • No, the `InstallUtill.exe` uses the original executable path when creating the service. As @Riz stated you can check the path from services.msc. – Burak Dobur Nov 23 '18 at 14:29

3 Answers3

41

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.

Michael Herrmann
  • 4,832
  • 3
  • 38
  • 53
J0e3gan
  • 8,740
  • 10
  • 53
  • 80
3

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

Riz
  • 1,119
  • 15
  • 23
  • Hi can you help? I am modifying my Windows Service and have rebuild my project but my exe file still is not getting updated. Last time, I modified something in my service, and rebuild the project my exe file got automatically updated. You will know when it shows you the latest time . But this time it's not working. I have tried so many thing. – Unknown Jun 20 '23 at 04:47
1

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

uninstall:

   installutil /u yourproject.exe

install:

   installutil yourproject.exe