How to update an installed Windows service?

2019-03-23 08:24发布

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?

3条回答
Deceive 欺骗
2楼-- · 2019-03-23 08:48

If the Windows 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, update its executable with a new version, and start it again.

This approach worked reliably for me for many months of Windows-services development during which I simply updated services' ServiceBase implementations, private methods etcetera; and it makes for pretty quick iterative development when you have net stop and net start commands for your service(s) in a command window's history to just Alt+Tab over, backtrack through history, and hit Enter when you find the command you need.

查看更多
老娘就宠你
3楼-- · 2019-03-23 08:54

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

uninstall:

   installutil /u yourproject.exe

install:

   installutil yourproject.exe
查看更多
够拽才男人
4楼-- · 2019-03-23 08:56

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

查看更多
登录 后发表回答