1

When I am trying to launch external application on the asp.net server, I see that the process is executed and it works fine, but everything runs in background mode.

I am using cassini web server. Also StartInfo.CreateNoWindow = false; does not help.

For example Visual Studio Development server shows everything fine.

How can I launch an app and see it running visibly?

jcolebrand
  • 15,889
  • 12
  • 75
  • 121
Dmitry Bakaev
  • 129
  • 2
  • 14
  • Are you wanting the app to start and show up at the user's computer where they are running their web browser? If so, this is not possible and betrays a deep misunderstanding of how everything fits together between asp.net, iss, http, html, and javascript. – Joel Coehoorn Dec 05 '11 at 17:42
  • Nope. I want to run it from the server side. Thats why I am using Process.Start() only issue that I am facing is casini web server doesn't work in "interact with desktop" mode. That's why it doesn't show application face =). Might be there is some workaround for it? – Dmitry Bakaev Dec 05 '11 at 17:46

2 Answers2

1

This is expected and correct behavior. ASP.Net/IIS run as a service, and any windows created by a service are shown on a private hidden desktop reserved for that purpose. There is no way to show this desktop.

It works in the development server because the development server is a normal app running within the context of your normal user desktop.

If you want the window to open on the user's computer with their browser, this is just not possible.

Joel Coehoorn
  • 399,467
  • 113
  • 570
  • 794
0

Doing steps described here https://stackoverflow.com/a/4679686/166921 caused windows of the process started by asp.net to show up on server machine.

Relevant steps below (after reversing them windows stopped to show up):

Enable IIS Admin Service to interact with desktop

To configure this, follow this steps.

a. Open Control Panel and follow these steps: For Windows NT: click Services. For Windows 2000, Windows XP, and .NET Server: click Administrative Tools, and then click Services.

b. Double-click IIS Admin Service.

c. On the Log On tab, select the Allow Service to Interact with Desktop check box. Remember to run IIS Admin Service as a local system. d. Stop and restart the IIS Admin Service.

Community
  • 1
  • 1
Kamil Szot
  • 17,436
  • 6
  • 62
  • 65