窗口服务的问题

时间:2010-04-03 21:02:05

标签: c# windows

我做了一个Windows服务&添加仅包含此代码的项目installer.in。 System.Diagnostics.Process.Start(@ “C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE”);在计时器滴答事件和&间隔是60秒。我只想尝试运行Windows服务。

1st-serviceProcessInstaller1我已将其帐户设置更改为本地系统。 在这种情况下,2nd-serviceInstaller1我已将其启动类型更改为自动。 然后我创建一个设置添加另一个项目然后右键单击添加项目输出然后添加主输出然后按确定。 然后转到右键单击项目 - >视图 - >自定义操作 - >右键单击安装 - >添加自定义操作 - >选择应用程序文件夹&添加主输出。对所有剩余选项(如提交,回滚,卸载)执行相同的操作。

之后我构建了它成功构建的设置然后我将它正确安装的设置安装到程序文件中n创建一个.exe文件n一个Instalfile。 但问题是,当我将服务搜索到“services.msc”时,服务不存在。 意味着服务没有显示在那里。我试过但没有让ans.plz帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

不是您原来问题的答案,但

  • 使用来自服务的GUI启动应用程序是一个坏主意(tm),并且在大多数情况下不起作用
  • 检查您使用的计时器类型。 .Net提供3个Timer类,并非它们都在服务中工作(因为它们依赖于窗口的消息循环,iirc)

测试任何服务:为什么不首先使用installutil二进制文件(绕过安装项目)?您可以在框架目录中找到它,例如在“C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727”中。

答案 1 :(得分:0)

我建议您手动安装程序集以查看是否收到任何类型的错误消息。 只需打开Visual Studio命令提示符并运行InstallUtil.exe [YourService].exe即可。至少你会知道它是否正确安装。

答案 2 :(得分:0)

更好的选择是使用命令行工具sc.exe 试试“sc create /?”在命令行上,看看它的选项。 然后你可以使用“sc start”,“sc stop”& “sc query”来控制服务。您可以使用sc.exe将自定义命令发送到该服务。检查Windows事件日志以查找与服务安装相关的错误。它可能是用于创建它的.Net版本不在目标机器上。