Я имею дело с некоторым программным обеспечением, которое "хочет" запускаться из системы, имеющей рабочий стол (назовите это основным пакетом). Это программное обеспечение вызывает другие пакеты, которые также запускаются на рабочем столе как приложения пользовательского уровня (назовите их вторичными пакетами).
Большинство этих вторичных приложений - это программы на базе Windows, которым для запуска требуется их графический интерфейс, а первичный пакет программно нажимает кнопки на вторичных пакетах для достижения желаемых результатов. Один из вторичных пакетов - это приложение на основе DOS, использующее технику нажатия кнопки, в то время как другой действительно может быть вызван автоматизацией OLE и запущен напрямую. (Для справки: вторичные программы анализируют данные и генерируют отчеты, которые первичный пакет отправляет по электронной почте)
Желание состоит в том, чтобы переместить эту конфигурацию на виртуальную машину и, возможно, использовать что-то вроде SrvAny, чтобы встроить первое приложение в службу Windows. Однако я считаю, что при запуске виртуальной машины по умолчанию не будет рабочего стола, поэтому мои вопросы:
Как отреагируют программы на основе графического интерфейса?
Скорее всего, они выйдут из строя и сгорят, когда основная программа попытается их вызвать, но не найдет рабочий стол?
Будет ли Windows автоматически поддерживать дополнительные программы?
Или я ошибаюсь и при запуске виртуальной машины создается рабочий стол по умолчанию?
Гостевой ОС, скорее всего, будет сервер W2k3, размещенный на ESX 3.5.
Кстати, причина работы без головы - это политики безопасности, которые не позволяют оставлять автономные системы запущенными.
редактировать
Спасибо за ответы - я не был уверен в механизме виртуальной графической системы виртуальных машин.
Что касается политики безопасности, то задним числом я не объяснил ее наилучшим образом. На самом деле я хотел сказать, что мне было предложено альтернативное решение:
Запустить виртуальную машину
RDP к виртуальной машине, чтобы получить рабочий стол
Запустите программу
Отключитесь от виртуальной машины (не выходя из системы), чтобы программное обеспечение продолжало работать в этом сеансе.
Если оставить отключенный, но запущенный сеанс RDP, это не нормальные функции виртуальной машины.
тем не мение
Возникает вопрос, можно ли подключиться к существующему виртуальному рабочему столу, на котором будет работать программное обеспечение? (чтобы я мог взаимодействовать с ним) (Это начинает звучать как просьба «Возьми мой торт и съешь его тоже»!)
Хотя я совершенно уверен, к чему эта программа, которую вы используете, и что представляет собой эта ошибочная «политика безопасности, которая запрещает запускать автономные системы» или какую проблему она решает, существует множество виртуальных машин, которые работают на хост-операционных системах. без GUI.
Как вы сказали ESX Хост не имеет графического интерфейса. Также хорошей альтернативой является VirtualBox который имеет набор команд VBoxHeadless и VBoxManage, который запускает и настраивает виртуальные машины в операционных системах без графического интерфейса пользователя.
Гостевая операционная система, W2K3 или любая другая, работает так же, как и в GUI Host. Операционная система работает на «виртуальном» графическом адаптере. Вы можете подключиться к виртуальной машине по протоколу RDP, и она имеет операционную систему на основе графического интерфейса, так же как это будет отдельный сервер в центре обработки данных.
Подводя итог, ваши программы на основе графического интерфейса будут отлично работать в обычной гостевой ОС с графическим интерфейсом, независимо от того, является ли ОС хоста без графического интерфейса пользователя или нет.
Повторюсь, что сама виртуальная машина не является «безголовой», она с радостью полагает, что у нее есть рабочий стол с графическим пользовательским интерфейсом, работающий на виртуализированном видеоадаптере, если у вас установлена ОС, которая запускает графический интерфейс. У вас может не быть ничего, на самом деле подключенного к экземпляру виртуальной машины, чтобы «видеть» рабочий стол, но он существует, и с точки зрения программного обеспечения он не должен отличаться от реального физического рабочего стола.
Независимо от того, является ли хост, на котором он работает, безголовым, не будет иметь никакого эффекта. Фактически то же самое относится и к автономной системе. Я бы также серьезно поставил под вопрос политику безопасности автоматической системы - как вы справляетесь со стандартными серверами, если они работают без присмотра?