I am dealing with some software that "wants" to be run from a system that has a desktop (call it the primary package). This software invokes other packages that also run as user level applications on the desktop (call them the secondary packages).
Most of these secondary applications are windows based programs that require their gui in order to run, and the primary package programatically pushes buttons on the secondary packages in order to achieve the desired results. One of the secondary packages is a DOS based application that uses the button pushing technique, while another can actually be invoked by OLE automation and driven directly. (For reference the secondary programs analyze data and generate reports that the primary package will email out)
The desire is to move this configuration to a VM and perhaps use something like SrvAny to shoehorn the first application into a Windows service. However I believe that when the VM starts that there will be no desktop by default, so my questions are:
How will the gui based programs react?
Will they likely crash and burn when the primary program tries to invoke them but finds no desktop?
Will windows automagically support the secondary programs?
Or do I have it totally wrong and running the VM does create a default desktop?
The guest OS will most likely be W2k3 server, hosted on ESX 3.5
BTW the reason for running headless is security policies that disallow unattended systems to be left running.
Thanks for the answers - I wasn't sure of the mechanics of the VMs virtual graphics system.
As to the security policy, in hindsight I didn't explain it in the best way possible. What I really meant to say was that an alternative solution was proposed to me as being:
Start the VM
RDP to the VM to get a desktop
Start the software
Disconnect from the VM (not logging off) so that the software keeps running in that session
The leaving a disconnected but running RDP session is seen as a no-no, not normal VM functions.
That does raise the question of is it possible to connect to whatever virtual desktop exists that the software will be running under? (so that I might be able to interact with it) (This is starting to sound like a "Have my cake and eat it too" request!)