windows服务启动时提示找不到指定路径的问题
我是自己写了一个windows服务,并且在之前一直运行良好,上周四晚上之后,竟然莫名其妙的停止了,我登上远程服务器,才发现,该服务已经停止,当我手动打开该服务时,提示我如下错误,找不到指定路径:。
一开始我怀疑是不是有人人为的给我删掉了,但是我找了一下我的存放路径,发布文件还在,这就有点郁闷了,东西好好地都在,为什么突然就找不到路径了呢?我推测的答案是因为注册表文件被病毒,或者杀毒软件之类的修改了。
带着这个问题,我去网上搜了一下,大部分人都在说是因为注册表文件里面的地址不对,然后我就去打开注册表文件,发现里面根本就没有他们说的那个ImagePath这个项,后来我想既然没有,那我自己人为 的给他添加一个不就可以了,然后我就去添加,新增了之后竟然无法保存,后来,有人说,是金山毒霸的原因,但我本地没有金山,所以我就联系到可能是360杀毒的原因,于是我关掉360杀毒,没想到果然成功了,我给加上ImagePath项之后,才发现,此时报错误5:拒绝访问,原因是我添加的路径不对,导致无法找到文件。
关于这个问题,可以参考:https://blog.csdn.net/weixin_42799447/article/details/83784275
其实到这里,你就应该知道该怎么做了,既然注册表文件都已经损坏,连ImagePath都没有了,那你就只能重新部署安装了。
另外,我又重新卸载安装,尝试了多次,未见其果,后来才知道我的原因应该是,在卸载的时候不彻底,导致后续重新安装的服务,还是定位到了以前的注册表文件。
后来,我只好重新修改了一下服务的名称和ID,将它发布安装之后,打开注册表文件,此时已经有ImagePath这个项了,而且也有相应的路径,经过测试,服务可用。
当然这种方法,只建立在该服务对你自己有用的前提下,如果是系统服务的话,修改之前,请先做好备份,一旦出错,可能会面临系统崩溃的问题。
总结一下,其实我的方法就是,相当于重新写了一下服务,改了个名字和ID,焕然一新,但是功能还是如此。