Updated ExecShellAsUser() function to check for file existence first. If file does not exist, it will abort with "not_found" immediately. This avoids possible popup error messages produced by IShellDispatch2::ShellExecute() in the case of a missing file.