Is there any way that I can force a program that normally requires administrator privileges (via UAC) to run without them? (ie: no UAC prompt and no system-wide access.)
Added: Without modifying the executable itself.
In spite of James's answer, I have found a few ways that it can almost be done:
- By modifying the executable I can remove the
trustInfoentry from the manifest (or the manifest entirely, so I can use an external one), allowing the program to start without UAC. Unfortunately this modifies the executable, so it exits shortly after due to an internal checksum test. - By using Process Explorer I can launch it as a Limited User. However this seems to limit it significantly more than I would like (it runs like Protected Mode IE and so can access significantly less than what my standard un-elevated user can).

psexec.exe -l. Sometimes it's better because it requires less manual actions. Still it will limit the process beyond "user" group permissions, as with process explorer's Run as Limited User. – LogicDaemon Mar 29 '15 at 09:59