我如何找出为什么我得到一个EOSError代码5-访问被拒绝注册服务?

Lar*_*gen 1 delphi nt service web-services

当TServiceApplication尝试向ServiceManager注册服务时,我收到EOSError代码5-访问被拒绝。

我正在使用XE2 Win7 64位。32位和64位目标均会发生错误。

我有一个使用ADO连接到数据库和Web服务服务器代码的数据模块。所有代码都在可以正常工作的WinUI项目中使用。我也有一个基于相同核心代码的未经测试的ISAPI DLL。

这是我第一次尝试将Web服务服务器合并到NT服务中。

我已经在Vcl.SvcMgr的第1027行中跟踪了产生错误的VCL代码,但是我不知道为什么我会收到“访问被拒绝”错误。我已经编写了其他通过ADO连接到数据库的NT服务,并且没有遇到过这样的错误(尽管使用XE编写)。

任何指针将不胜感激。

Rem*_*eau 5

您可能会遇到一个UAC权限问题,该问题希望您以提升的状态运行服务安装过程,例如通过“以管理员身份运行”选项启动的cmd.exe实例,但实际上并没有这样做。如果仅某些服务而不是其他服务有此问题,则受影响的服务可能不包含UAC清单,但包含触发UAC的“安装程序检测”功能的特征,通常(但不限于)在服务文件名中具有保留关键字或版本资源。