Question: 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?

Answer: 
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.
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.