安装Windows服务 - 没有错误,但它不在Service Control Manager中

时间:2009-02-24 11:04:05

标签: c# visual-studio service windows-services installation

我在c#中创建了一个Windows服务,我正在尝试使用installutil安装它进行调试,如下所示:http://msdn.microsoft.com/en-us/library/sd8zc8ha.aspx

installutil表示安装已完成。但是,服务控制管理器中没有任何内容。

我在Server 2008和XP上尝试了相同的结果。

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

我的一位同事有一个或多或少相同的问题。

您是否在项目中添加了安装程序?对于要安装的服务,您需要向Visual Studio项目添加安装程序。 在Visual Studio中添加安装程序的最简单方法是在设计模式下打开服务,右键单击设计区域并选择添加安装程序。这将添加一个文件ProjectInstaller.cs,其中包含一个ServiceInstaller对象和一个ServiceProcessInstaller对象。 添加安装程序后,您可以设置服务名称,描述以及安装服务时将使用的其他选项。如果您现在尝试使用InstallUtil,则应安装您的服务,并且该服务应显示在“服务”列表中。

答案 1 :(得分:4)

我遇到了类似的问题(构建安装程序,没有错误,services.msc中没有服务),但是我有一个不同的解决方案,因为我配置了安装程序。

就我而言,服务项目的Application Properties(Alt-Enter,应用程序选项卡)启动对象(not set),如下所示:

enter image description here

选择默认。程序并重建服务和安装程序(services.msc中显示了服务)。

设置此属性是the MSDN service installer walkthrough中引用的this SO answer.中的步骤之一。请务必遵循所有步骤!

答案 2 :(得分:1)

我不能专门针对任何C#或.NET错误的问题,但我已经写了一个安装服务必须发生的事情,并以广泛记录的框架的形式工作(来源)用于编写services in Lua的代码。我在这里提供它作为另一种方式的例子,因为有时只是从另一个角度看待事物可能会有所帮助。

免责声明:它非常符合alpha质量水平,是的,我是它的作者。

该框架具有与Windows SCM交互以安装和删除服务所需的所有代码。