我们目前正在使用Release Management 2013(Update 2)来执行我们的部署。
我们遇到了一个问题,其中一个步骤要求在目标计算机上执行第三方GUI应用程序以执行配置。我们已经能够自动化UI,但是它无法从发布管理运行,因为它需要是交互式的,当从作为我们的RMSERVICE域用户运行的Microsoft Deployment Agent服务启动时,这是不可能的。
启动GUI应用程序是通过我们编写的自定义.NET控制台应用程序间接执行的:
发布管理 - > [控制台应用程序] - > [UI应用]
控制台应用程序使用典型的Process.Start()启动UI应用程序,但是我们遇到错误:
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 但是,有问题的服务作为系统帐户运行。
然而,我仍然不明白我们想要的是否可行,如果可行,如何实现它们:
使用相同的域用户从服务启动GUI应用程序作为交互式进程(并在需要时自动登录)
答案 0 :(得分:1)
我以前尝试过各种方法来解决这类问题,而且我从来没有找到真正有效的方法。
最重要的是,这不是为了运行交互式进程。
如果你想做一些令人费解和疯狂的事情,你可以在机器上安装一个测试代理,创建一个自动化的测试"启动您的应用程序,然后让RM启动在交互式过程中运行的自动化测试。但这就是Rube Goldberg级别的精神错乱。