Windows – Force a program to run *without* administrator privileges or UAC?

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:

  1. By modifying the executable I can remove the trustInfo entry 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.
  2. 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).

Solution:

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT*shellforcerunasinvoker]@="Run without privilege elevation"[HKEY_CLASSES_ROOT*shellforcerunasinvokercommand]@="cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start """" ""%1""""""

Save this text in <name_of_file>.reg and add it to the Windows Registry. (Double-clicking on it should do the trick.)

Afterwards