you have 4 options with varying degrees of complexity, reliability, and deployment considerations.
1) PSEXEC. seriously, lots of people use psexec for this purpose, and works most of the time. by far the simplest solution. use -i so it can interact with the desktop.
2) WMI. you can write .net or VBScript code to execute the client app. its just as scripty as psexec, but is entirely native. I've had reliability problems with WMI before, but those were domain wide automated ops, and much of the issue appeared to be power management on idle workstations.
3) Windows task scheduler. from the server schedule a task to execute on the client in the users session. still scripty, with lots of moving parts.
4)create a windows network service for the local PC, and upon signal, launch the task under the users session. you may have to use the task scheduler to accomplish this. lots of work to dev and test, hard to deploy, lots of moving parts, and still scripty in places, but this would probably be microsofts answer, as it correctly implements their guidance for process elevation.