使用Powershell或批处理脚本在构建服务器上运行带有Release Definition的记事本或任何其他Windows应用程序: 我尝试了所有我知道的命令:
& ′notepad.exe′
Invoke-Expression -Command ′notepad.exe′
Start-Process -FilePath ′notepad.exe′
[System.Diagnostics.Process]::Start(′notepad.exe′)
([wmiclass]″Win32_Process″).Create(′notepad.exe′)
Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″notepad.exe″
Invoke-Command -ScriptBlock {& notepad.exe′}
cmd /c ″notepad.exe″
在服务器本身上运行时,一切正常(启动记事本或任何其他win应用程序) 但 当我尝试通过TFS Release Definition运行时:命令成功结束,但是在构建服务器上-没有任何反应。
任何想法!
答案 0 :(得分:0)
如果您的代理以交互方式运行并且所有其他设置均已正确配置,则答案是该命令有效。但是问题在于,一旦构建/发布完成,所有启动的进程都将被关闭,因此您在查看启动的应用程序时没有看到它。要验证这一点,请使用以下命令添加powershell脚本任务:
Start-Process -FilePath 'C:\Windows\System32\notepad.exe' -wait
运行发行版并检查服务器,您应该看到记事本已打开。但是,此命令将导致释放永远不会完成,除非您关闭记事本。