【问题标题】:Process for updating a windows service? Automated or is it manual?更新Windows服务的过程?是自动的还是手动的?
【发布时间】:2008-10-29 13:57:27
【问题描述】:

如果我在服务器上有 Windows 服务,更新服务的“最佳实践”是什么? (假设其中有错误,或者我需要为其添加更多功能)。

有没有一种方法可以关闭服务、修补它并以更自动化的方式启动和运行?

(任何带有代码的链接都会很棒)

【问题讨论】:

    标签: windows-services


    【解决方案1】:

    嗯,你总是可以在安装程序上升级版本(如果你使用过的话)并运行它,根据我的经验,它会用新版本覆盖旧版本。

    或者您可以简单地关闭服务,复制新的 .exe(以及依赖项,如果有)并重新启动它。这一切都可以通过脚本和我想象的 NET 启动/停止功能来完成。

    我确信有比这更好的方法......

    【讨论】:

      【解决方案2】:

      取决于您的服务是如何编写的 - 整体 EXE - 您需要使用选择的进程停止并重新启动它,例如安装程序、脚本 + 服务控制、批处理和 NET STOP/START 等。

      如果你的结构有点不同,例如引导 EXE 将您的服务实现加载为可以卸载/重新加载的模块,然后您可以进行不同的对话。这当然要复杂得多。

      我在 C# 中通过这样的托管解决方案取得了一些成功,类似的对话在这里:

      I want my C# Windows Service to automatically update itself

      【讨论】:

        【解决方案3】:

        InstallShield 支持 Windows 服务。利用安装程序将使您的任务变得更加简单。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-01-01
          • 2010-11-08
          • 2018-03-21
          • 1970-01-01
          • 2021-02-22
          • 2015-09-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多