我即将开发一个程序,该程序将作为Windows服务在多个客户端的后端服务器(具有互联网访问)上安装和运行。我没有物理访问服务器。我正在努力的是可靠地推出更新程序的方案。自动更新Windows服务
我花了相当多的时间寻找Windows Service自动更新的最佳实践,但发现了很少有用的信息。大多数技术(如ClickOnce)似乎主要针对基于Windows Forms的应用程序。
我目前的计划是:
- 有更新可用时,有正在运行的服务下载,安装并启动更新服务。
- 更新服务将下载新版本的主要服务,并将其并行安装在当前仍然有效的版本中。
- 更新服务接下来停止旧版本,然后启动新版本的服务。
- 新版本在启动过程中禁用更新服务。
我一些重要的担忧是:
- 能够处理既可以更新到主业务和更新服务
- 能够处理中断,如电源故障或连接失败更新过程中的任何一点
有什么想知道的是,如果这是解决这个问题的常用方法和/或如果我错过了任何关键的东西。它太复杂了,还是太简单了?你会怎么做(或者更好,你是如何成功完成的)?
谢谢!
感谢您的宝贵意见。您是如何处理在旧版本被卸载之后但在新版本安装之前更新过程中断的潜在情况?你有没有跟踪你在这个过程中有多远? – 2009-07-07 21:24:00