从命令行运行.NET服务

时间:2009-08-17 16:02:17

标签: c# .net windows-services

如何从命令行运行.NET服务? net start“Sample Service”无效。

4 个答案:

答案 0 :(得分:7)

不应该从命令行启动服务。首先注册它(installutil / i service_path)然后从net start或sc start开始。

或者,在服务项目中创建主入口点并启动逻辑,这样您就可以从命令行测试服务。然而,这不是真正的服务环境。

答案 1 :(得分:3)

尝试使用sc start

答案 2 :(得分:3)

您可以致电:

启动或停止服务
net start "Service Name"
net stop "Service Name"

有关详细信息,请参阅this technet article

如果以下情况属实,这应该有效:

  • 命令提示符/用户具有启动服务的适当权限。这是任何解决方案所必需的。
  • 服务已在系统中正确安装和注册。我怀疑这可能是罪魁祸首。该服务是否列在服务项下?

答案 3 :(得分:3)

确保将安装程序添加到Windows服务。您必须这样做才能使InstallUtil.exe实用程序正常工作。你可以看到here的方法。

添加安装程序后,可以使用InstallUtil.exe安装和卸载服务。

  • 安装: InstallUtil.exe <YourServiceExecutable>
  • 卸载: InstallUtil.exe /u <YourServiceExecutable>

要启动和停止服务,请使用Reed的解决方案。

如果您想获得想象力,可以在服务中添加一些命令行逻辑,以便您直接从服务中执行所有这些(安装 - 启动/停止和卸载),即您将不再需要使用InstallUtil.exe。该解决方案是here