В настоящее время мы используем Release Management 2013 (обновление 2) для выполнения нашего развертывания.
Мы столкнулись с проблемой, когда для выполнения одного из шагов требуется, чтобы на целевой машине было запущено стороннее приложение с графическим интерфейсом пользователя для выполнения настройки. У нас уже есть возможность автоматизировать пользовательский интерфейс, однако он не запускается с помощью Release Management, потому что он должен быть интерактивным, что невозможно при запуске из службы Microsoft Deployment Agent, которая работает как пользователь нашего домена RMSERVICE.
Запуск приложения с графическим интерфейсом выполняется косвенно через пользовательское консольное приложение .NET, которое мы написали:
Управление выпуском -> [консольное приложение] -> [Приложение пользовательского интерфейса]
Консольное приложение запускает UI-приложение с типичным Process.Start (), однако мы сталкиваемся с ошибкой:
System.InvalidOperationException:
Showing a modal dialog box or form when the application is not running in UserInteractive mode is
not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a
notification from a service application.
Прочитав множество сообщений об услугах и сеансах, я теперь понимаю проблему, такую как http://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-and-bit-Archite Однако рассматриваемая служба работает как системная учетная запись.
Однако я до сих пор не понимаю, возможно ли то, что мы хотим, и если да, то как этого добиться:
Запустить приложение с графическим интерфейсом пользователя как интерактивный процесс из службы с использованием того же пользователя домена (и при необходимости автоматически войти в систему)