wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了安装了新的Windows服务,无法启动:“系统错误2 …系统找不到指定的文件”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

已经成功安装了其他几个自定义的.Net窗口服务.我最近写的一个新的非常类似于其他的,当它安装没有错误 – 启动它与服务控制器,它无法从错误对话框开始:系统错误2 …系统找不到指定的文件. 经过时间和惊慌之后,我可以想到的唯一的事情就是这个服务有很大不同,因为路径和可执行文件的名称比任何其他服务长至少10个字符.在缩短路径和.exe名称并重新安装时,服务运行正常:无错误!我只能假设我以前的路径或服
已经成功安装了其他几个自定义的.Net窗口服务.我最近写的一个新的非常类似于其他的,当它安装没有错误 – 启动它与服务控制器,它无法从错误对话框开始:系统错误2 …系统找不到指定的文件.

经过时间和惊慌之后,我可以想到的唯一的事情就是这个服务有很大不同,因为路径和可执行文件名称比任何其他服务长至少10个字符.在缩短路径和.exe名称并重新安装时,服务运行正常:无错误!我只能假设我以前的路径或服务或.exe名称太长.

此外,提到我使用了一些借用的“服务驱动程序”代码,用于通过win API调用来处理服务控制器的安装/卸载.这可能是该服务驱动程序模块中隐藏的字符限制.

我@R_262_9112@与Windows相关的文档,以确认是否有系统限制字符限制我已经超过的路径或服务名称.如果时间允许,我会挖到服务驱动程序,看看是否是问题.同时我也欢迎任何见解.

我尝试了一些测试服务,发现不是导致我的问题的任何属性的长度(“系统错误2 …系统找不到指定的文件”)开始.我的内置服务安装程序使用三个属性servicename,servicetitle,serviceDescription.在安装时,我发现它将完整的服务路径写入注册表,但它不仅仅是使用实际的exe(程序集)名称,它使用servicename属性来构建路径!我的问题是servicename和程序集名称不匹配,因此找不到文件.我使用了一个powersHell注册查询来暴露路径,最后注意到那里的不匹配.当我第一次注意到这个问题,我没有注意到,当我缩短了服务名称时,我使用的是没有.exe的程序集名称,这实际上是修复它,而不是简单地缩短服务名称.

大佬总结

以上是大佬教程为你收集整理的安装了新的Windows服务,无法启动:“系统错误2 …系统找不到指定的文件”全部内容,希望文章能够帮你解决安装了新的Windows服务,无法启动:“系统错误2 …系统找不到指定的文件”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。