my开发者_开发知识库 service downloads an update, writes batch file and executes it by system()
call. batch file stops the service, updates it and starts it back. everything works fine when I'm logged in as administrator. under regular user I receive "access denied" to stop service.
I hoped batch file will be run under system account because is lauched by a service. But seems it isn't. Please explain why not. Any workaround?
You could diagnose the problem by using the runas
command from a terminal:
runas /user:mymachine\serviceaccount batchfile.bat
and also the icacls
command to query and set the permissions:
icacls batchfile.bat
and look for the RX permission
精彩评论