【发布时间】:2013-05-09 05:48:20
【问题描述】:
我创建了一个Windows Service application using c#。我已按照this msdn 文档中的步骤操作,但该服务未在Computer -> Manage -> Service pane 的服务部分中列出。
我错过了什么吗?它的Windows 7。
想要运行我的服务来检查功能。
谢谢
【问题讨论】:
我创建了一个Windows Service application using c#。我已按照this msdn 文档中的步骤操作,但该服务未在Computer -> Manage -> Service pane 的服务部分中列出。
我错过了什么吗?它的Windows 7。
想要运行我的服务来检查功能。
谢谢
【问题讨论】:
您必须安装该服务。这可以通过 .net 框架文件夹中的 installutil 轻松完成,如下所示:
installutil yourproject.exe
如果您想调试该服务,只需通过“调试”-“附加到进程”从 Visual Studio 附加它。有关更多详细信息,请参阅: http://msdn.microsoft.com/en-us/library/sd8zc8ha.aspx
【讨论】:
System.Configuration.Install.Installer。有关更多信息,请参阅my related answer 或其中链接的Code Project article;或者只是使用sc create,正如我在对这个问题的回答中所描述的那样。
您需要安装您的服务,以便 Windows 服务控制管理器 (SCM) 了解它(通过生成的注册表项)。
您有(至少)两种选择:
sc create "SERVICENAME" binpath = "C:\whatever\Service.exe"
installutil "C:\whatever\Service.exe"
对于sc create,任何命令提示符都可以。对于installutil,Visual Studio 命令提示符是运行它的最简单方法——因为VS 命令提示符的PATH 环境变量使使用.NET 命令行工具变得容易;并且根据我的经验,您的服务需要实施服务(卸载)安装程序。
在您安装并实际检查您的服务后,您几乎肯定会在某个时候将其卸载 - 例如然后在非开发位置安装它的最终版本,或者只是清理乱扔已安装服务列表的开发服务条目。您在 sc delete 和 installutil /u 中有相应的选项 - 与我在上面解释的有关安装选项的相同注意事项。
我已经写信 more 介绍了卸载和安装 Windows 服务的一些细节,您可能会觉得这些细节很有趣和/或有帮助 - 特别是如果您决定采用该方法,则实施服务(卸载)安装程序。
【讨论】:
MessageBox.Show)。检查。更简洁一点,您还可以将信息事件写入 Windows 事件日志或调试输出,您可以使用 Sysinternals DebugView(免费)获取。