【window服务系列】安装服务的可能遇到的问题

2017/6/14 20:08:09 人评论 次浏览 分类:.NET



本来用C#.Net创建好的window服务,在本地运行时正常,然后在别的电脑安装的时候就出现各种问题。我把我一开始安装的时候遇到的问题记录下来。供大家参考和快速解决。

我操作的时候的批处理文件的内容是这样的:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe DoBat.exe
Net Start AutoDoBat
sc config AutoDoBat start= auto
pause


1.第一个错误:“错误1053:服务没有及时响应启动或控制请求”

我执行了批处理的命令,从结果上看安装的时候是成功了,但是也可以看出在启动的时候是失败的,“服务没有响应控制功能”。

这时候我们打开服务管理的控制台尝试手动去启动该服务的时候,就报这个错误了。“错误1053:服务没有及时响应启动或控制请求”。


原因:
因为 .NETFramework版本的问题导致的安装失败。很多C#.Net的开发者都有.NETFramework4.5版本,在VS创建window  Service的项目的时候,默认是使用4.5版本的。但是在很多的window 2008的服务器是没有.NETFramework4.5版本的。所以在安装的时候就导致了失败了。

当然报这个“错误1053:服务没有及时响应启动或控制请求”的错误也有别的原因,但是我遇到就是上述的原因。(PS:除此之外,如果服务程序本身报错话也会出现启动失败的可能)

解决:
如果不是一定要用到.NETFramework4.5的,就可以在App.config这里修改下为:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />

或者给服务器安装 .NETFramework 4.5 的版本


2.第二个错误:“指定的服务已经标记为删除”
安装失败也找到原因了那么我就想要把原来的服务给卸载掉才行。然后执行如下命令:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u DoBat.exe
pause

貌似也是卸载成功了,然而并未从服务管理的控制台中移除。如下图:




这时候,既然是删除了,那么我也试下重新安装服务看看,如下图。出现“指定的服务已经标记为删除”的错误,之后怎么删除都不行。


原因:
具体的原因就不知道,可能window的机制的问题,大概是没更新服务状态的感觉。

解决:
关闭服务管理窗口,然后再次打开服务管理窗口的时候就可以看到刚才的那个删除的服务已经不见了。


PS:一般这里在调试window服务的时候如果程序报错了,就需要卸载服务重新调试。
如果在window服务不报错的情况下,正常卸载是不会出现问题,卸载完成之后就会自动的从服务管理器删除掉。




相关资讯

  • Windows环境下ASP.NET Core项目站点自启动运行

    ASP.NET Core可以通过 IIS站点发布 ,也可以通过自运行启动站点。也就只要安装了dotnet (.net core SDK )就可以自启动网站,不需要依赖IIS。

    2018/11/11 18:00:56
  • VS2017环境与.NET Core SDK下载安装

    都2018年了,如果是VS2015的,还是直接升级到VS2017吧。首先先安装.NET Core SDK,,然后再安装 VS2017。

    2018/7/10 22:57:35
  • VS2015中的.NET Core SDK下载与安装搭建Asp.net core开发环境

    VS2015时没有自带ASP.NET Core(VS2017是自带Core的,只要在安装的时候选择安装core跨平台即可),如果要使用.NET Core的开发环境就需要单独安装.NET Core SDK。下面我们介绍是在VS2015的环境下安装.NET Core SDK的步骤。

    2018/7/10 21:36:05
  • 【window服务系列】C#.Net的window服务的调试

    window service 创建成功之后就可以进行调试了。1.安装并运行服务这里不详细说。可以用installutil.exe或者 netstart。运行之后,服务程序的就是运行在进程中。2.附加到进程。这里不能直接运行启动调试(F5)。选择对应的服务程序进行附加。3.添加调试代码。因为我们要启动了服…

    2017/6/15 20:08:59