【问题标题】:Can I XCOPY Deploy a Windows Service?我可以 XCOPY 部署 Windows 服务吗?
【发布时间】:2012-02-26 06:28:15
【问题描述】:

我有一个已安装在服务器上的 Windows 服务,并且我有一个新版本的可执行程序和链接程序集。我用于安装新版本的正常程序是:

  1. 停止服务
  2. 使用InstallUtil /u卸载服务
  3. 用新的覆盖服务可执行程序和链接的程序集
  4. 使用InstallUtil安装服务
  5. 启动服务

我想知道我是不是做得太多了?仅执行以下操作是否有任何问题:

  1. 停止服务
  2. 用新的覆盖服务可执行程序和链接的程序集
  3. 启动服务

我认为不需要卸载/安装,但找不到任何正式确认。

【问题讨论】:

  • 明显的问题是涉及关闭系统;出于这个原因,我倾向于使用AppDomains - 然后服务可以自我更新(在可写的地方执行 actual 系统),exe 只处理进程启动和应用程序-域管理;零停机更新
  • @MarcGravell 这是一个绝妙的主意,而且听起来很可重用。我没有用 AppDomains 做过很多编程,所以有没有一个框架或模板或博客文章你可以指点我,让我开始?

标签: .net deployment windows-services installutil


【解决方案1】:

如果该服务已经安装,是的,您可以 xcopy 部署新的可执行文件和程序集而不会出现任何问题。

installutil 所做的只是创建指向服务可执行文件的适当注册表项。如果您之前运行过installutil 来创建这些条目,则在更改可执行文件时无需重复此步骤。

【讨论】:

  • 您的回答有点误导。或者更确切地说,您正在回答标题中的问题(“我可以 XCOPY”-> 是),但他问的最后一个问题是“仅执行以下操作是否有任何问题”,答案是 no :-)
猜你喜欢
  • 2022-01-21
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 2011-06-12
  • 2020-06-18
  • 2023-03-22
相关资源
最近更新 更多