windows服務啟動時提示找不到指定路徑的問題


我是自己寫了一個windows服務,並且在之前一直運行良好,上周四晚上之后,竟然莫名其妙的停止了,我登上遠程服務器,才發現,該服務已經停止,當我手動打開該服務時,提示我如下錯誤,找不到指定路徑:

一開始我懷疑是不是有人人為的給我刪掉了,但是我找了一下我的存放路徑,發布文件還在,這就有點郁悶了,東西好好地都在,為什么突然就找不到路徑了呢?我推測的答案是因為注冊表文件被病毒,或者殺毒軟件之類的修改了。

帶着這個問題,我去網上搜了一下,大部分人都在說是因為注冊表文件里面的地址不對,然后我就去打開注冊表文件,發現里面根本就沒有他們說的那個ImagePath這個項,后來我想既然沒有,那我自己人為 的給他添加一個不就可以了,然后我就去添加,新增了之后竟然無法保存,后來,有人說,是金山毒霸的原因,但我本地沒有金山,所以我就聯系到可能是360殺毒的原因,於是我關掉360殺毒,沒想到果然成功了,我給加上ImagePath項之后,才發現,此時報錯誤5:拒絕訪問,原因是我添加的路徑不對,導致無法找到文件。

關於這個問題,可以參考:https://blog.csdn.net/weixin_42799447/article/details/83784275

其實到這里,你就應該知道該怎么做了,既然注冊表文件都已經損壞,連ImagePath都沒有了,那你就只能重新部署安裝了。

另外,我又重新卸載安裝,嘗試了多次,未見其果,后來才知道我的原因應該是,在卸載的時候不徹底,導致后續重新安裝的服務,還是定位到了以前的注冊表文件。

后來,我只好重新修改了一下服務的名稱和ID,將它發布安裝之后,打開注冊表文件,此時已經有ImagePath這個項了,而且也有相應的路徑,經過測試,服務可用。

當然這種方法,只建立在該服務對你自己有用的前提下,如果是系統服務的話,修改之前,請先做好備份,一旦出錯,可能會面臨系統崩潰的問題。

總結一下,其實我的方法就是,相當於重新寫了一下服務,改了個名字和ID,煥然一新,但是功能還是如此。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM