windows服务启动 1053错误
1.问题描述
今天在启动一个Windows服务时,服务启动不了,且提示:1053错误
那么是什么导致了1053错误呢?
2.他山之石
百度了一下,发现有人作出下面的解释并给出了解决方法:
“常常是因为缺少了一些服务必需的dll。解决办法如下,你找到这个服务程序所在的目录,如D:\services\,双击这个服务程序,会弹出一个提示框,提示服务运行缺少某个dll,然后你可以在别的地方找到这个dll,放到和本服务相同的目录下或者是C:\windows\system32目录下。这个问题就能解决了。”
3.实际解决
于是根据他的思路,我双击了服务程序。结果出现了如下的提示框:

看来程序崩溃了,那么如何找出问题的原因所在呢?
对,调试程序!
我选择了【调试程序】,于是启动了VS进行调试。VS打开后抛出了一个异常,界面如下:

于是心中窃喜,因为从异常信息中我们往往能找出异常所在的准确位置(StackTrace的使用)。而且从上图的异常消息上,我们知道大体可能是配置文件的问题。
于是,“查看详细信息...”,从StackTrace中我们没有找到有用的信息,但是在InnerException的Message中有了发现:

错误信息:“在 machine.config 之外使用注册为 allowExeDefinition='MachineOnly' 的节是错误的。...”
从中我们甚至能找到配置文件的名字:WindowService.exe.Config和错误所在的行号:20。
依据上面找到的信息,我们去查看一下配置文件的20行到底怎么了:

原来在20行,设置了一个<machineSettings maxTimeout="00:30:00" />,而事务的maxTimeout只能在machine.config中进行设置,而不是应用程序配置文件。
所以我们的处理办法就是将其注释掉。
至此,我们解决了服务不能启动,提示1053错误的问题。
总结:
这里的配置文件错误只是1053错误的一种原因。从这次的经历中我们主要学到的是如何排查Windows服务启动不了的原因。
参考:http://blog.csdn.net/haojiahuo50401/article/details/7170732
《System.Transactions 事务超时属性》
http://www.soaspx.com/dotnet/csharp/csharp_20121009_9673.html
windows服务启动 1053错误的更多相关文章
- 玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案
将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服 ...
- Redis Windows 服务启动异常 错误码1067
https://blog.csdn.net/after_you/article/details/62215163 Redis Windows 服务启动异常 错误码1067 下载了Redis 2.8.2 ...
- MongoDB做为一项windows服务启动
MongoDB做为一项windows服务启动 Windows版本安装 MongoDB的官方下载站是http://www.mongodb.org/downloads,可以去上面下载最新的对应版本,有32 ...
- 玩转Windows服务系列——Windows服务启动超时时间
最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败.第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析. 数据库工作机制 ...
- C#判断程序是由Windows服务启动还是用户启动
在Windows系统做网络开发,很多时候都是使用Windows服务的模式,但在调度阶段,我们更多的是使用控制台的模式.在开发程序的时候,我们在Program的Main入口进行判断.最初开始使用Envi ...
- Windows服务启动进程----Cjwdev.WindowsApi.dll
windows服务下无法启动外部程序 做一个windows服务监听服务,涉及到windows服务启动外部程序的一个过程,但是调试测试发现,无法简单的用process.start()这种方法, 原因是在 ...
- C#穿透session隔离———Windows服务启动UI交互程序
在Windows服务里面启动其他具有界面的应用程序,需要穿透session隔离,尝试了很多种方法,都可行,现在一一列举下来,并写下几个需要注意的地方. 需要注意的地方 首先要将服务的Account属性 ...
- Windows服务启动时候报错1053
用.net 开发了一个C#语言的windows服务,在本地和测试环境,安装启动都正常,在新的线上环境报错,不能启动-报出-错误1053:服务没有及时响应启动或控制请求. 后来发现时线上.NET FRA ...
- ElasticSearch作为Windows服务启动
由于公司服务器用的Windows服务器,所以你懂得…… 直接下载elasticsearch中文发行版.下载地址是:https://github.com/medcl/elasticsear ...
随机推荐
- 使用IAR6.1调试LPCXpresso-cn
由于Manly公司驱动兼容性问题,下载破解版的IAR6.1 使用. http://blog.sina.com.cn/s/blog_48bde2b20101e6v0.html 然后使用IAR打开示例wo ...
- [SDJX2015]面积
[问题描述:] 一个六边形的每个内角均为120°,按顺时针给定它每条边的长度,求它的面积与边长为1的等边三角形的面积的比值. [输入:] 一行六个整数a,b,c,d,e,f,表示六条边的长度. [输出 ...
- JavaScript高级程序设计60.pdf
错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...
- Ubuntu的which、whereis、locate和find命令
which 只能寻找执行文件 ,并在PATH变量里面寻找. whereis 从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新 ...
- 380. Insert Delete GetRandom O(1)
经过昨天的消沉 今天我振作了 设计个数据结构,添加,删除,随机获取都是O(1). 怎么会有这么牛逼的数据结构,所以肯定相应的要耗费空间. 添加和获取耗时O(1)是Array的特性,或者说是Map/Ta ...
- Linux中统计某个文件夹的大小
进入这个文件夹内 然后du -sh命令
- Java SE Eclipse中引入第三方jar及class
使用eclipse开发Java SE 总免不了需要引入第三方的jar或者calss文件.这里给大家说一下如何在eclipse中引入第三方jar或者calss文件. 让我们先了解一下eclipse项目中 ...
- POJ 1185 状态压缩DP 炮兵阵地
题目直达车: POJ 1185 炮兵阵地 分析: 列( <=10 )的数据比较小, 一般会想到状压DP. Ⅰ.如果一行10全个‘P’,满足题意的状态不超过60种(可手动枚举). Ⅱ.用DFS ...
- DragQueryFile
附件:http://files.cnblogs.com/xe2011/CSharp_DragQueryFile.rar using System.Runtime.InteropServices; th ...
- Android开发_后台任务task管理_allowTaskReparenting alwaysRetainTaskState clearTaskOn
1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“tru ...