2013-10-28 62 views
0

我想配置我的Build配置,以便在Build步驟1中成功構建項目後,TeamCity將運行一個.cmd文件。爲此,我在Build配置中添加了第二個Build步驟,其中Runner類型是命令行,Command Executable指向我的.cmd文件。出於測試目的,我只需通過一個簡單的腳本「START C:\ Windows \ NOTEPAD.EXE」打開Windows記事本應用程序.cmd。 .cmd文件在雙擊它時起作用(記事本立即打開)。問題是Build配置通過兩個步驟成功運行,但似乎.cmd永遠不會啓動。我檢查了構建日誌,它說TeamCity已成功啓動.cmd文件。TeamCity Command Line build實際上並沒有啓動.cmd文件

我試圖更新兩個TeamCity Windows服務(TeamCity服務器和TeamCity生成代理)以使用本地系統帳戶,然後停止並重新啓動它們但它仍然無法工作,.cmd文件是從未真正開始。

+0

我對TeamCity沒有任何意見,但系統帳戶下運行的系統服務不允許與桌面交互。他們在一個單獨的會議中運行。使用任務管理器檢查notepad.exe是否在本地系統帳戶下運行。如果不是,嘗試將CommandExecutable更改爲'cmd.exe/c「c:\,其中\ batchfileis \ do.cmd」' –

+0

但是,當我更新到本地服務帳戶時,我勾選了複選框以允許帳戶與桌面。 –

+0

除非您的系統是Windows XP,否則服務將在他們自己的會話中運行,而他們自己的桌面不是控制檯桌面。有關詳細信息,請參閱[this](http://msdn.microsoft.com/zh-cn/windows/hardware/gg463428.aspx)。 –

回答

1

答案補充解釋在評論

從微軟的文檔中提取暴露概念

  • 的Windows容納多個通過把每個用戶在單獨的會話登錄的用戶。會話0在啓動過程中創建,並根據需要添加其他會話。服務始終在會話0中運行。

  • 會話0專用於未與交互式用戶會話相關聯的服務和其他應用程序。用戶應用程序必須運行在會話1或更高級別。

  • 會話0不支持用戶界面。特別是,在會話0中運行的進程無法訪問圖形硬件,也無法直接在監視器上顯示任何UI。

0

感謝您的回覆MC。根據你的建議,我找到了另一種完成工作的方式,基本上它是一個解決方案,它將幾個不同的工具混合在一起,比如spexec,.NET Windows Form應用程序。

相關問題