安装了新的Windows服务,无法启动:“系统错误2 …系统找不到指定
发布时间:2020-12-13 20:20:49 所属栏目:Windows 来源:网络整理
导读:我已经成功安装了其他几个自定义的.Net窗口服务.我最近写的一个新的非常类似于其他的,当它安装没有错误 – 启动它与服务控制器,它无法从错误对话框开始:系统错误2 …系统找不到指定的文件. 经过时间和惊慌之后,我可以想到的唯一的事情就是这个服务有很大不
我已经成功安装了其他几个自定义的.Net窗口服务.我最近写的一个新的非常类似于其他的,当它安装没有错误 – 启动它与服务控制器,它无法从错误对话框开始:系统错误2 …系统找不到指定的文件.
经过时间和惊慌之后,我可以想到的唯一的事情就是这个服务有很大不同,因为路径和可执行文件的名称比任何其他服务长至少10个字符.在缩短路径和.exe名称并重新安装时,服务运行正常:无错误!我只能假设我以前的路径或服务或.exe名称太长. 此外,提到我使用了一些借用的“服务驱动程序”代码,用于通过win API调用来处理服务控制器的安装/卸载.这可能是该服务驱动程序模块中隐藏的字符限制. 我找不到任何与Windows相关的文档,以确认是否有系统限制字符限制我已经超过的路径或服务名称.如果时间允许,我会挖到服务驱动程序,看看是否是问题.同时我也欢迎任何见解.
我尝试了一些测试服务,发现不是导致我的问题的任何属性的长度(“系统错误2 …系统找不到指定的文件”)开始.我的内置服务安装程序使用三个属性:ServiceName,ServiceTitle,ServiceDescription.在安装时,我发现它将完整的服务路径写入注册表,但它不仅仅是使用实际的exe(程序集)名称,它使用ServiceName属性来构建路径!我的问题是ServiceName和程序集名称不匹配,因此找不到文件.我使用了一个powershell注册表查询来暴露路径,最后注意到那里的不匹配.当我第一次注意到这个问题,我没有注意到,当我缩短了服务名称时,我使用的是没有.exe的程序集名称,这实际上是修复它,而不是简单地缩短服务名称.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2008 – 由数以千计建立的NTUSER.DAT和UsrC
- 如何将.dll导入Android java项目(使用eclipse)
- 如何使用命令行界面管理远程Windows Server?
- winapi – 如何获得与Windows主题相关的图标?
- 与Windows 10的初始RDP连接缓慢
- __uint128_t on mingw gcc
- Windows界面编程第四篇 异形窗体 高富帅版
- PTA-1017——Queueing at Bank(部分正确,查错半天没找到错
- windows-server-2003 – 如何在Windows Server 2003上旋转P
- windows – 如何将subversion存储库发布到本地IIS?