none
请教一个c#系统服务经数字签名后不能启动的问题 RRS feed

  • 问题

  • 大家好,我们这边用C#开发了一个系统服务,该exe做了数字签名(不是强签名),安装到系统中后,启动服务的时候,在某些环境下不能启动报错。在win srv03系统中有能启动的,在VM  win03, xpsp3中出现不能启动,VM中,如果不做数字签名是可以启动的。报的错误是:错误1053年: 服务未回应及时启动或控制要求。另外程序中做了记录,发现服务控制管理器在启动服务时,根本没有正常加载我们的应用(应用启动的时候做了日志记录,没有日志输出)。我们使用vc6开发的服务没有存在过这个问题。有谁知道是咋回事么?    另外能提供普通组件数字签名后PE格式(包含.netPE)资料链接么?   windows在启动有数字签名的应用或者服务的时候做了哪些工作?   再对论坛提两个建议:1,发帖子里头不能换行;2,注册系统后,找发帖链接找了半个多小时才找到,⊙﹏⊙b汗。不知道为啥跟其他的bbs搞得不一样,都找不到,也不醒目!


    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。


    • 已编辑 李明_liming 2012年3月22日 3:03
    • 已移动 Leo Liu - MSFT 2012年3月26日 8:34 Moved for better support. (发件人:Visual C#)
    2012年3月22日 3:02

全部回复

  • dear

    你必须检查服务启动的账号,是否有有启用服务的权限

    如果可以你试着用local system登入


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月22日 3:28
  • dear

    你必须检查服务启动的账号,是否有有启用服务的权限

    如果可以你试着用local system登入


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    确认都是admin用户登录操作的

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月22日 3:30
  • 没有人知道怎么处理?不然一堆的杀软又得说俺们的产品是非法软件了,病毒了。

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 3:20
  • dear

    admin不一定有取用服务的权限!

    在win server版本里的administrator会有,但是win7/winxp的没有


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月23日 3:29
  • dear

    admin不一定有取用服务的权限!

    在win server版本里的administrator会有,但是win7/winxp的没有


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    哥哥,你还没有理解我的问题。同一个环境,我的服务APP,如果不做数字签名,就能正常启动,做了就不能。另外在有些本机系统,非虚拟机里头,签名后的也能正常启动。我找了下PE的相关资料,看exe启动时压根就不将数字签名的数据映射到内存中,这样也就是不做数字签名检测了。现在就不知道是咋回事了。

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 3:34
  • dear

    你是说的"服务"是exe挡案!?

    还是windows service!?

    一开始你的发文我认为他是windows service...

    如果你指的是exe挡案,你有使用签章,就必须在部署端也要安装签章


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月23日 3:51
  • dear

    你是说的"服务"是exe挡案!?

    还是windows service!?

    一开始你的发文我认为他是windows service...

    如果你指的是exe挡案,你有使用签章,就必须在部署端也要安装签章


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    这么说吧,C#的应用编译后为A.exe(该应用是以服务接口方式完成的开发),使用  installutil A.exe命令后,安装到了系统服务里头了,作为服务运行。不知道这样清楚了么。另外证书都安装好了,verisign的代码签名证书。verisign的crl啥的也更新了。

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 4:05
  • dear

    所以你现在是服务windows service无法启动?

    如果是,服务启动的账号并非使用admin就能启动,该admin帐号必须有启动服务的权限


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月23日 4:13
  • 是以win srv形式无法启动。 问题是,同一个环境,不签名的直接可以启动,签名的不能启动(只是来回替换这个A.exe),这个能说明有admin权限吧

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 4:15
  • dear

    在win srv的admin是有windows service的启用权限,所以你现在碰到的问题有两种

    1.是启用账号的权限设定,我正在写文章。

    2.是签章问题,这帮不上忙,基本上签章来源只要是合法并且安装在用户端的即可,所谓合法是要经过MS认可,国外的Domain买卖,通常会有卖这个东西。

    http://blog.miniasp.com/post/2010/03/02/The-Complete-Guide-for-Purchase-Install-SSL-Certificate-to-IIS7.aspx

    试看看签章安装在根目录看看

    http://www.dotblogs.com.tw/justingong/archive/2011/05/06/24387.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/


    2012年3月23日 4:38
  • 使用的是verisign的证书,证书本身是没有问题的。测试系统上面还有c++写的系统服务,同样签的名,莫有问题。

    另外确认登陆账号有启用权限。


    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 4:41
  • dear

    winxp若无法用特定账号啟用service,可参考以下

    http://www.dotblogs.com.tw/yc421206/archive/2012/03/23/70987.aspx

    方便给予数位签章让小的测试?


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月23日 7:37
  • 我问问同事,看不能把签名后的应用给你测试下。

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 7:39
  • 同事在准备不依赖于产品其他组件的测试服务,等他那边准备好了,我给你发下服务包。

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 7:45
  • 能给个srv 03和xp的授权操作么?

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 7:49
  • dear

    你是指不要让他门在administrators成员里吗?

    这我就不知道了,因为我给账号其他权限时会无法启动(汗),这是资安专家或MIS的专长

    我不知道你有没有AD,domain users是有启用服务的权限


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月23日 8:02
  • 不是啊,我们是在虚拟机里头测试,虚拟机里头比如xpsp3系统就一个登陆账号,怕是你说的这个唯一的系统账号也没有这个权限。安装系统后,这个默认的账号应该是啥权限都有吧,我们测试的时候用的就是这个账号。

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月23日 8:07
  • dear

    那就用Local System....


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年3月23日 8:56
  • 我怎么才能联系你,把我这边的测试用例给你?

    夫君子之行,静以修身,俭以养德。 孔子曰:“无友不如己者。”颜、闵之徒,何可世得!但优于我,便足贵之。

    2012年3月26日 9:33