ShellExecute, permissions running as service vs. desktop
Posted on 2012-04-03
I have a VC++ 6.0 application on Windows7 32bit that can be run as a GUI app direct from the desktop, or it can be run as a service using the "srvany" tool, which is how it is normally running.
One contained method of the application calls ShellExecute() to run a command line compression tool.
If I run the EXE from the desktop, logged in as administrator the call to ShellExecute runs as expected.
If however it is running as a service (configured for Local System login) then the call fails (hangs indefinitely)
The service did not used to fail though, until I put the computer in question onto a different domain. Now it does fail.
It must be a permissions thing, but which? I have tried adding network service, local service, "everybody" with full control rights to all of the folders I can think of to no avail.