2013-05-27 133 views
0

我正在使用以下命令通過MSBuild文件安裝服務。這很好用在MSBuild中執行任務以執行遠程機器上的命令

<Exec Command= 'c:\test\myService.Appservices.exe install' ContinueOnError='false' /> 

但是上面的命令在本地機器上安裝服務。我想在遠程機器上安裝該服務。如何使用此命令指定機器名稱?

+1

這不是一個真正的msbuild問題。 AFAIK msbuild沒有內置的遠程機器安裝支持,它只能執行命令。當你知道要執行哪個命令時,msbuild可以從那裏接管。像http://stackoverflow.com/questions/995050/install-software-on-a-remote-machine可能會指出你在正確的方向。或者編輯您的標籤以包含諸如「遠程訪問」之類的內容以獲得更廣泛的覆蓋範圍。 –

回答

4

根據Mike Vine的評論,MSBuild不包含用於遠程執行的工具。但是,您可以使用psexec之類的內容。例如

<Exec Command='psexec -accepteula -s \\RemoteServer "C:\Path To EXE on Remote Machine\my.EXE"' IgnoreExitCode="false" ContinueOnError="false" Timeout="600000" > 
    <Output TaskParameter="ExitCode" PropertyName="exitCode1"/> 
</Exec> 
+0

爲什麼使用-s參數?花了我們一小時的時間:p –

+0

另一個建議:不要將應用程序的參數放在路徑的雙引號內。 –

+0

-s在遠程計算機上運行psexec作爲「系統」,沒有該標誌作爲msbuild破壞的帳戶運行 –