我用sc创建的服务,服务列表中已经有显示了,但是启动就报错了?这是什么错呢??
http://www.vckbase.com/index.php/wv/1193
你仔细阅读这篇文章,把Windows服务的概念理解清楚了再有针对性的提问。
我是直接用SC命令创建的服务~~
@木木学习: 我假设你正确的实现了Windows服务(如果你没正确实现,请自己参照文章正确实现),那么你的服务在接收到启动指令后执行了某些操作(你的业务逻辑代码),但是没有成功,就会出现你截图的问题,诸如未捕获的异常,死锁。
@Launcher:
@木木学习: 你的服务在接收到启动指令后执行了某些操作(你的业务逻辑代码),但是没有成功,就会出现你截图的问题,诸如未捕获的异常,死锁。
@Launcher: 嗯,服务里的接收不到我程序的状态~~~~这个怎么解决呢?
@木木学习: 你的服务在接收到启动指令后执行了某些操作(你的业务逻辑代码),但是没有成功,就会出现你截图的问题,诸如未捕获的异常,死锁。——————请你检查你的代码。
@Launcher:好像没有什么逻辑吧~~只是启动不了! 就是接收不到程序状态~
@木木学习: 你可以在服务的属性里选择“允许服务与桌面交互”,参看:http://www.cnblogs.com/joejoe/archive/2009/05/09/1453250.html
如果仍然失败,请把MessageBox 的代码注释掉,先保证你的服务能正常启动。
@Launcher: 呜呜,我要哭了,搞不好搞不好~~~~~~到处错,是不是那个一定要是Windows服务的exe啊?但是那又报另外一个错~
@Launcher: 那个安装命令,你看一下是不是这样的啊,怎么执行不了呢?
@木木学习: InstallUtil.exe 在 C:\Windows\Microsoft.NET\Framework\vx.x.x.x 目录下,所以你进入命令行后,要么输入 C:\Windows\Microsoft.NET\Framework\vx.x.x.x\InstallUtil,要么先执行 cd C:\Windows\Microsoft.NET\Framework\vx.x.x.x 后再输入: InstallUtil
@Launcher: 服务也有了,又报一个这样的错~~~~~呜呜
@木木学习: 你的代码的问题,请你先制作一个基本的Windows服务程序后,再添加你的业务逻辑。
@Launcher: 我这次创建的一个很纯正的服务,但是还是显示不了那个界面~
@木木学习: 把服务的“登录身份”设置为“本地系统帐户”,并勾选“允许服务与桌面交互”。
@Launcher: 我选择了的,它虽然出这么多提示之后,但是状态还是改变啦的,为什么显示不了界面呢?还有一个界面交互检测的那个框框~
@Launcher: 那个显示界面的代码这样写可以吗?
@Launcher: 我看到它了,终于显示出来了,但是那个是在交互检测里面,手动操作不了的吧~~呜呜,好纠结~
@Launcher: 原来那个开启后停止是因为窗体里面有控件,就会报那个错~~~
@木木学习: http://www.cnblogs.com/joejoe/archive/2009/05/09/1453250.html 这篇文章提到三种方法,你试试。
@木木学习:你的启动一个线程来显示你的Form,看下面这个例子:
protected override void OnStart(string[] args)
{
Thread _TestForm = new Thread(new ThreadStart(StartListen));
_TestForm.Start();
}
public void StartListen()
{
Zgke.WindowFrom.Service.ServerWindows.ServiceForm(EventLog);
System.Windows.Forms.Form _MyForm = new System.Windows.Forms.Form();
_MyForm.Text = "打开窗体 Application";
System.Windows.Forms.Application.Run(_MyForm);
while (true)
{
Thread.Sleep(100000);
}
}
@Launcher: 请教一下,那个StartListen()方法里的Zgke是什么?那句话是什么意思呢?
@木木学习: 我也不知道,网上找的一段代码,那段代码你删掉就行了,http://www.csharpwin.com/csharpspace/218.shtml
看你的错误提示,可能你的程序集不是服务类型的程序,windows服务是需要单独编写的程序,不是普通的winform应用程序。
哦,这样的额,我已经换成Windows服务的了,但是界面交互的时候还是有异常