我们有由我们的程序启动的Windows服务,没有管理员权限。
如果我们从诸如“ E:/ programDir ”之类的目录中启动程序,则一切正常。
但是,如果我们从“ C:/ Program Files(x86)/ programDir ”启动没有管理员权限的程序, 服务无法启动。
这是我们从InnoSetup调用“ sc.exe”的方式:
Success := Exec(
'sc.exe',
ExpandConstant('sdset {#DAEMON_SERVICE_NAME} D:(A;;CCLCSWRPWPDTLOCRRCSD;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRCSD;;;IU)(A;;CCLCSWLOCRRCSD;;;SU)(A;;LCRPWPLOSD;;;AU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)'),
'',
SW_HIDE,
ewWaitUntilTerminated,
ExitCode
);
我们如何解决?