当前位置: 移动技术网 > IT编程>开发语言>.net > .NET Window 服务 出现 错误1053

.NET Window 服务 出现 错误1053

2018年09月20日  | 移动技术网IT编程  | 我要评论

赵钎焱,众品网,女子发现山洞闪金光 进去后兴奋疯了

    今天做了一个windows 服务,在安装时出现了问题。

问题描述
1. 好像是安装成功了的,因为在服务列里有这个服务:

 

2. 但是就是启动不了。点启动

 

 

环境:

               win7 ,framework 4

 

原因为何?
            找了很久没招。于是,我在调出了一个之前写的windows 服务(careeye),安装,启动服务......能启动:

           

         ?

         ?

         最土的办法:比较项目有什么差别。程序就不用看了,主要是项目配置方面 的。还真发现了问题:

         这是能跑的服务:

        

                 下面的是跑不起来的服务配置:

                

          

client profile的.net framework         
           framework 不一样,就有如此大的区别?于是乎找一下,大致是这么说的:

           client profile的.net framework是不加的子集或者说是精简版(compact version)。

 

为什么要引入这个简化版本呢?
减少.net framework以及包还.net framework的应用程序的部署时间;
减少.net framework部署的失败;
减少.net framework在isv软件的所占大小,从而给其软件更多的空间;
减少安装了.net framework client profile的系统受攻击的“界面”,因为client profille中部包括asp.net和一些服务器所要的;
      

       jossef的博客what’s new in .net framework 4 client profile beta 2 给出了详细的解释。

 

问题算是找着了。但是我的项目所有的都是用 framework 4 ,都要改成client profile的?

 

原来前面都是扯淡
      我思考再三,不能修改framework 4 ,这无疑是大的版本变更才做的事。因为所有的系统模块折framewok版本,都会要求变成一致,才能运行。而系统(一拍天下)在线上跑着,这是运营大忌。

      但是,我回头想一个问题:按我之前的分析,framework 4 不能创建windows service了,还得非是什么client profile版本才行?想想都不可能,回头再去找,发现在服务的入口出现了一个问题,在部署时没有注意到:

   

      简单说明一下:因为在建服务时我没有没有配置启动参数。所以,服务启动时在无参数的情况下,会进入“后台控制”类型的代码。后台控制代码会要求与桌面交互的,而默认服务是不能与桌面进行交互,肯定会出问题的。(没看懂,也不要紧,毕竟您不必对此感兴趣)。

      只需要知道一点:是因为细节处理上的一个大意,急于部署服务,而忽略了此,导致花了大半天天的时间来找问题。很不值,所以,做事放慢节奏是很重要的。

   

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网