I have a need to launch a Win32 application from my ASP.Net application. Normally this is a problem, because a server can't cause an application to launch on a client without using an ActiveX pluggin or something or that sort. However, because UltiDev will be running on the local computer, the server and the client are the same machine, so I can achieve what I need by having the application start on the "server."
I am using System.Diagnostics.Process.Start() to launch a my application (and for testing purposes this can simply be notepad.exe). When I call this method, the application is launched in the background (it shows up in the task manager under processes but doesn't become visible to the user). It runs under the System account.
I found that Microsoft has documented similar behavior with IIS:
http://support.microsoft.com/kb/555134
In their resolution steps they say to go into the services manager, open the service properties, select the Log On tab, and click "Allow service to interact with desktop." They say this allows the IIS service to accomplish what I'm looking for.
When I try this on the Ultidev service and restart the service it won't start again. It gives the error:
"Could not start the UltiDev Cassini Web Server for ASP.NET 2.0 service on Local Computer. Error 1053: The service did not respond to the start or control request in a timely fashion."
So my question is either:
Is there a better way that I can effectively launch a desktop Win32 application via my Asp.Net app with cassini? (Using an ActiveX pluggin in the browser or similar solution is not acceptable)
or
Is there a resolution to get the UltiDev service to start with the interact with desktop box checked?
Thanks,
Scott