【问题标题】:Installing a .NET Windows Service on a machine that doesn't have Visual Studio installed在未安装 Visual Studio 的计算机上安装 .NET Windows 服务
【发布时间】:2011-03-10 16:12:18
【问题描述】:

我创建了一个 Windows 服务(称为 MuskOx),它在我的开发机器(显然安装了 Visual Studio)上运行。

项目的Bin文件夹包含以下文件:

  • InstallUtil.InstallLog
  • muskox.InstallLog
  • muskox.InstallState
  • MuskOx.exe.config
  • MuskOx.vshost.exe
  • MuskOx.vshost.exe.config
  • MuskOx.vshost.exe.manifest
  • Kctc.dll(MuskOx 使用的类库)
  • Kctc.pdb
  • MuskOx.exe
  • MuskOx.pdb

谁能告诉我在另一台没有安装 VS 的机器上安装该服务需要做什么?我一点也不知道这些文件中有一半是做什么的,而且我发现谷歌搜索的答案有点低效。

谢谢

大卫

【问题讨论】:

  • +1 表示 MuskOx 作为您的服务名称。
  • 参考链接是您希望您的服务自行安装/卸载(而不是要求使用 InstallUtil.exe)。 stackoverflow.com/questions/1195478/…
  • @马特:大声笑,谢谢你的观点!

标签: .net visual-studio windows-services installation


【解决方案1】:

将 MuskOx.exe 和 Kctc.dll 复制到目标机器。运行 installutil.exe 进行注册,它在 c:\windows\microsoft.net\framework\v2.0.50727 中可用

【讨论】:

  • 酷,我想这就是我需要知道的。我会告诉你我的进展情况!
【解决方案2】:

您不需要发送任何 .vshost.* 文件。 pdb 文件是调试文件,因此只有在调试输出中需要符号时才发布这些文件。当然,在另一台机器上安装服务时,应该会生成 InstallLog 和 InstallState 文件,因此您也不需要发送这些文件。

【讨论】:

  • 感谢您提供文件的详细信息,但我如何实际安装该服务?
【解决方案3】:

Hans 已经指出,对于 .net 应用程序,请使用 installutil.exe。您也可以使用sc.exe来安装和卸载服务。

【讨论】:

    【解决方案4】:

    你可以用你的应用程序做到这一点:

    How to install a windows service programmatically in C#?

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2011-02-05
      • 2015-08-26
      • 1970-01-01
      • 2012-09-21
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多