【发布时间】:2010-11-08 17:50:36
【问题描述】:
我即将开发一个程序,该程序将作为 Windows 服务安装并在多个客户端的后端服务器(可访问互联网)上运行。我没有对服务器的物理访问权限。我正在研究的是一个可靠地推出程序更新的计划。
我花了很多时间寻找 Windows 服务自动更新的最佳实践,但几乎没有找到有用的信息。大多数技术(例如 ClickOnce)似乎主要适用于基于 Windows 窗体的应用程序。
我目前的计划是:
- 当更新可用时,让正在运行的服务下载、安装并启动更新服务。
- 更新服务将下载主服务的新版本并将其与当前仍处于活动状态的版本并排安装。
- 更新服务接下来会停止旧版本,然后启动新版本的服务。
- 新版本启动时禁用更新服务。
对我来说一些重要的问题是:
- 能够同时处理主服务和更新服务的更新
- 能够在更新过程中的任何时候处理中断,例如电源故障或连接故障
我想知道这是否是解决此问题的常用方法和/或我是否遗漏了任何重要的东西。是不是太复杂了,还是太简单了?你是怎么做到的(或者,更好的是,你是如何成功地做到这一点的)?
谢谢!
【问题讨论】:
标签: windows-services auto-update