【发布时间】:2012-02-26 06:28:15
【问题描述】:
我有一个已安装在服务器上的 Windows 服务,并且我有一个新版本的可执行程序和链接程序集。我用于安装新版本的正常程序是:
- 停止服务
- 使用
InstallUtil /u卸载服务 - 用新的覆盖服务可执行程序和链接的程序集
- 使用
InstallUtil安装服务 - 启动服务
我想知道我是不是做得太多了?仅执行以下操作是否有任何问题:
- 停止服务
- 用新的覆盖服务可执行程序和链接的程序集
- 启动服务
我认为不需要卸载/安装,但找不到任何正式确认。
【问题讨论】:
-
最明显的问题是涉及关闭系统;出于这个原因,我倾向于使用
AppDomains - 然后服务可以自我更新(在可写的地方执行 actual 系统),exe 只处理进程启动和应用程序-域管理;零停机更新 -
@MarcGravell 这是一个绝妙的主意,而且听起来很可重用。我没有用 AppDomains 做过很多编程,所以有没有一个框架或模板或博客文章你可以指点我,让我开始?
标签: .net deployment windows-services installutil