Hi Steve:
Windows has the concept of a windows station. A windows station
contains a desktop. A desktop contains windows [lower case w], a
clipboard, and all those UI and infrastructure pieces we think of as
being a part of Windows.
You can have multiple active winstations. There are two types of win
stations - interactive and non-interacitive. When you log onto a
machine you get an interactive winstation that sends information to a
real display device and takes input from the mouse and keyboard.
Services like IIS and the ASP.NET worker process it spawns are
designed to not interact with a user. They typically start before
anyone is logged into a machine, and stay running after everyone logs
out. Windows gives services a non-interactive windows station. There
is no way to make a non-interactive station an interactive station.
When you start a program from a service, the program starts in the
same winstation that the service is in. When you start Notepad - it is
in an invisible, non-interactive winstation you'll never see.
You can PInvoke CreateProcess and ask windows to put the process into
the interactive winstation, but winstations are also security
boundaries and the ASP.NET worker process will need a lot of
priviledge to do this.
Launching visible GUI applications on a server from ASP.NET is not
something you want to do.
--
Scott
http://www.OdeToCode.com/blogs/scott/
wow, I have never tried so many different things and had so little effect.
I've given execute permissions to IUSR_<machine name>
I've tried all different kinds of code snips...
The process starts.. I can see it in task manager on the process tab.. but I
can't "see" it, the window never opens. I have tried:
proc.StartInfo.WindowStyle =
System.Diagnostics.ProcessWindowStyle.Maximized;
This is nuts.. no error, no exception... nothing.
click
a