如何更新已安装的Windows服务?

我用C#编写了一个Windows服务。

我已经将它安装在我的机器上,它运行得很好。

当您安装服务时, exe会被复制到某处? 或者它指向我的bin文件夹?

这是让我知道,当我不时更新我的​​代码时,我是否必须卸载并重新安装我的服务才能更新它?

如果Windows服务的位置未更改且其可执行文件的名称未更改,则您不必卸载并重新安装它。

您可以简单地停止服务,使用新版本更新其可执行文件,然后重新启动它。

这种方法对我来说可靠地工作了很多个月的Windows服务开发,在此期间我只更新了服务的ServiceBase实现,私有方法等等。 当你在命令窗口的历史记录中为你的服务提供net stopnet start命令时,它只需要Alt + Tab结束,回溯历史记录,当你找到你需要的命令时按Enter键 ,它可以实现非常快速的迭代开发。

您可以通过从Run打开services.msc来检查已安装服务的路径。 然后右键单击您的服务并查看“可执行路径”。

如果这指向您的bin目录,那么每次编译成功时它都会更新。

在此处输入图像描述

您应该卸载旧的Windows服务并安装新版本的Windows服务。

卸载:

  installutil /u yourproject.exe 

安装:

  installutil yourproject.exe