【问题标题】:How to update an installed Windows service?如何更新已安装的 Windows 服务?
【发布时间】:2014-04-05 10:17:21
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我将创建安装项目来安装 windows 服务。
  • 否,InstallUtill.exe 在创建服务时使用原始可执行路径。正如@Riz 所说,您可以检查来自 services.msc 的路径。

标签: c# installation windows-services upgrade


【解决方案1】:

如果您想自动更新您的服务,您可以使用 Google Omaha 等框架。这是谷歌用来更新 Chrome 的技术。它与服务配合得很好,因为它在后台静默运行,就像服务一样。 This article 提供了有关使用 Omaha 自动更新服务的更多信息。

另一方面,如果您想手动更新您的服务:如果服务的位置未更改且其可执行文件的名称未更改,则您不必卸载并重新安装它。您可以简单地使用net stop 停止服务,使用新版本更新其可执行文件,然后使用net start 重新启动它。这种方法对我来说可靠地工作了好几个月。

【讨论】:

    【解决方案2】:

    你应该卸载旧的windows服务并安装新版本的windows服务。

    卸载:

       installutil /u yourproject.exe
    

    安装:

       installutil yourproject.exe
    

    【讨论】:

    • 这与此处的其他答案背道而驰。你能提供更多信息吗?
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2023-03-15
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多