5

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

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

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

4

3 回答 3

1

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

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

我敢肯定有比这更好的方法......

于 2008-10-29T14:02:15.943 回答
1

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

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

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

我希望我的 C# Windows 服务自动更新

于 2008-10-29T14:13:07.373 回答
0

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

于 2008-10-29T14:12:20.837 回答