首页 新闻 搜索 专区 学院

我用SC创建的服务,能创建进去,但是启动不了~~~请教各位如何解决!

0
悬赏园豆:5 [已解决问题] 解决于 2012-12-17 10:45

我用sc创建的服务,服务列表中已经有显示了,但是启动就报错了?这是什么错呢??

木木学习的主页 木木学习 | 初学一级 | 园豆:71
提问于:2012-08-21 09:36
< >
分享
最佳答案
0

http://www.vckbase.com/index.php/wv/1193

你仔细阅读这篇文章,把Windows服务的概念理解清楚了再有针对性的提问。

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2012-08-21 10:10

我是直接用SC命令创建的服务~~

木木学习 | 园豆:71 (初学一级) | 2012-08-21 10:26

@木木学习: 我假设你正确的实现了Windows服务(如果你没正确实现,请自己参照文章正确实现),那么你的服务在接收到启动指令后执行了某些操作(你的业务逻辑代码),但是没有成功,就会出现你截图的问题,诸如未捕获的异常,死锁。

Launcher | 园豆:45045 (高人七级) | 2012-08-21 11:35

@Launcher: 

木木学习 | 园豆:71 (初学一级) | 2012-08-21 11:47

@木木学习: 你的服务在接收到启动指令后执行了某些操作(你的业务逻辑代码),但是没有成功,就会出现你截图的问题,诸如未捕获的异常,死锁。

Launcher | 园豆:45045 (高人七级) | 2012-08-21 11:58

@Launcher: 嗯,服务里的接收不到我程序的状态~~~~这个怎么解决呢?

木木学习 | 园豆:71 (初学一级) | 2012-08-21 12:02

@木木学习: 你的服务在接收到启动指令后执行了某些操作(你的业务逻辑代码),但是没有成功,就会出现你截图的问题,诸如未捕获的异常,死锁。——————请你检查你的代码。

Launcher | 园豆:45045 (高人七级) | 2012-08-21 13:08

@Launcher:好像没有什么逻辑吧~~只是启动不了! 就是接收不到程序状态~

木木学习 | 园豆:71 (初学一级) | 2012-08-21 13:58

@木木学习: 你可以在服务的属性里选择“允许服务与桌面交互”,参看:http://www.cnblogs.com/joejoe/archive/2009/05/09/1453250.html

如果仍然失败,请把MessageBox 的代码注释掉,先保证你的服务能正常启动。

Launcher | 园豆:45045 (高人七级) | 2012-08-21 15:20

@Launcher: 呜呜,我要哭了,搞不好搞不好~~~~~~到处错,是不是那个一定要是Windows服务的exe啊?但是那又报另外一个错~

木木学习 | 园豆:71 (初学一级) | 2012-08-21 17:49
Launcher | 园豆:45045 (高人七级) | 2012-08-21 18:00

@Launcher: 那个安装命令,你看一下是不是这样的啊,怎么执行不了呢?

木木学习 | 园豆:71 (初学一级) | 2012-08-22 09:24

@木木学习: 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 | 园豆:45045 (高人七级) | 2012-08-22 09:30

@Launcher: 服务也有了,又报一个这样的错~~~~~呜呜

木木学习 | 园豆:71 (初学一级) | 2012-08-22 10:15

@木木学习: 你的代码的问题,请你先制作一个基本的Windows服务程序后,再添加你的业务逻辑。

Launcher | 园豆:45045 (高人七级) | 2012-08-22 10:19

@Launcher: 我这次创建的一个很纯正的服务,但是还是显示不了那个界面~

木木学习 | 园豆:71 (初学一级) | 2012-08-22 12:05

@木木学习: 把服务的“登录身份”设置为“本地系统帐户”,并勾选“允许服务与桌面交互”。

Launcher | 园豆:45045 (高人七级) | 2012-08-22 13:03

@Launcher: 我选择了的,它虽然出这么多提示之后,但是状态还是改变啦的,为什么显示不了界面呢?还有一个界面交互检测的那个框框~

木木学习 | 园豆:71 (初学一级) | 2012-08-22 13:08

@Launcher: 那个显示界面的代码这样写可以吗?

木木学习 | 园豆:71 (初学一级) | 2012-08-22 13:09

@Launcher: 我看到它了,终于显示出来了,但是那个是在交互检测里面,手动操作不了的吧~~呜呜,好纠结~

木木学习 | 园豆:71 (初学一级) | 2012-08-22 13:14

@Launcher: 原来那个开启后停止是因为窗体里面有控件,就会报那个错~~~

木木学习 | 园豆:71 (初学一级) | 2012-08-22 13:18

@木木学习: http://www.cnblogs.com/joejoe/archive/2009/05/09/1453250.html 这篇文章提到三种方法,你试试。

Launcher | 园豆:45045 (高人七级) | 2012-08-22 13:20

@木木学习:你的启动一个线程来显示你的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 | 园豆:45045 (高人七级) | 2012-08-22 13:23

@Launcher: 请教一下,那个StartListen()方法里的Zgke是什么?那句话是什么意思呢?

木木学习 | 园豆:71 (初学一级) | 2012-08-22 13:58

@木木学习: 我也不知道,网上找的一段代码,那段代码你删掉就行了,http://www.csharpwin.com/csharpspace/218.shtml

Launcher | 园豆:45045 (高人七级) | 2012-08-22 14:50
其他回答(1)
0

看你的错误提示,可能你的程序集不是服务类型的程序,windows服务是需要单独编写的程序,不是普通的winform应用程序。

I,Robot | 园豆:9563 (大侠五级) | 2012-08-22 10:33

哦,这样的额,我已经换成Windows服务的了,但是界面交互的时候还是有异常

支持(0) 反对(0) 木木学习 | 园豆:71 (初学一级) | 2012-08-22 12:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册