2011-08-03 41 views
2

在我的團隊建設,我不得不運行顯示UI的應用程序。如果我們使用相應的命令行參數運行該應用程序,則該應用程序被配置爲在沒有用戶輸入的情況下運行顯示從TFS團隊UI構建

當我嘗試在本地運行它,它運行沒有錯誤,但如果我從團隊建設運行,用戶界面從不顯示,過程只是掛起。我只能想象發生這種情況,因爲TFSBuildServiceHost服務正在以特定用戶身份運行。在做了一點研究之後,我發現沒有以本地服務帳戶運行的服務無法顯示用戶界面。

考慮到這一點,我將工作流程改爲包含一個InvokeProcess活動,調用PsExec並使用-i和-s參數運行我的應用程序。這背後的想法是,通過添加-s參數,它將能夠實際顯示用戶界面。可悲的是,這沒有奏效。如果我添加-h參數(使用其提升的令牌運行可執行文件),我從Interactive Service Detection中得到一個奇怪的彈出窗口,詢問我是否想顯示試圖發送的消息。

有沒有辦法始終接受正在發送的消息? 有誰知道如何運行一個應用程序來顯示團隊建設的用戶界面?

回答

2

你需要配置構建的服務交互模式運行。打開TFS管理控制檯,選擇Build Configuration,點擊BuildService上的Properties,然後選擇Run build service as Interactive Process。當然,您需要在整個過程中保持登錄到該機器。

+0

這正是我要找的,謝謝先生。 我最終將在HKEY_CURRENT_USER \ SOFTWARE \是指向構建服務的可執行微軟\的Windows \ CurrentVersion \ Run中目錄的新值。 (「C:\ Program Files文件\微軟的Team Foundation Server 2010 \工具\ TFSBuildServiceHost.exe」在我的情況) 這使,所以我就不用重複輸入我的密碼自動登錄只要有人登錄的生成代理。 – Slater