Bad idea, the one with extra executable. Generally, if you are using some *.EXE for the purpose other then letting the user to start an application, this is already a sign of wrong architecture. At least it could be renamed from *.EXE to something else (it would not change its functionality), but this is not a real solution…
You can automatically request elevated privileges by adding and embedding appropriate application manifest
. This is explained here:
Of course, you cannot bypass UAC (it would defeat its purpose), but you can switch it off, which I would strongly discourage.