欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.NET Window 服务 出现 错误1053

程序员文章站 2023-11-24 22:59:34
    今天做了一个windows 服务,在安装时出现了问题。 问题描述 1. 好像是安装成功了的,因为在服务列里有这个服务:   2. 但是就是启动不了。点...

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

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

 .NET Window 服务 出现 错误1053

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

 

 .NET Window 服务 出现 错误1053

环境:

               win7 ,framework 4

 

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

           .NET Window 服务 出现 错误1053

         ?

         ?

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

         这是能跑的服务:

        .NET Window 服务 出现 错误1053

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

                .NET Window 服务 出现 错误1053

          

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和一些服务器所要的;
      .NET Window 服务 出现 错误1053

       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版本才行?想想都不可能,回头再去找,发现在服务的入口出现了一个问题,在部署时没有注意到:

   .NET Window 服务 出现 错误1053

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

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