AdvancedRun is a portable free tool which allows you to run programs with custom priority, start directory, window state or position, a different user account, and your preferred compatibiity or environment settings.
The number of options makes for a cluttered interface with checkboxes everywhere, but fortunately you can ignore everything but the options you need, making it really quite easy to use.
If an application can't access a file or Registry key because it doesn't have the security privileges, for instance, all you have to do is browse to it in "Program to Run", and select "SYSTEM User" in the "Run As" box.
Click Run, your app is launched with SYSTEM privileges, and you'll probably be able to do what you need.
Window-related options allow you to launch the program hidden, maximised or minimised, or as a normal window with your preferred size and (X, Y) starting position.
Programs can be launched with a higher or lower priority, to perhaps improve performance or reduce their impact on the system, and there's an option to set their process affinity (allow them to run on specific CPU cores only).
AdvancedRun can also launch programs with custom Windows compatibility settings (a subset of what you can do in the "Compatibility" tab of shortcuts).
There's the ability to run programs with custom environment variables, maybe a shorter PATH, or dropping some other variables entirely.
Whatever settings you configure may be saved, then reloaded as required, or launched from a shortcut or script.
Added /cfg command-line option to start AdvancedRun with the specified config file.
AdvancedRun isn't actually that "advanced", and you can achieve many of the same things by using start.exe or the advanced properties of shortcuts. There are useful features, though - particularly the ability to run programs as SYSTEM - and on balance it's worth a try.