【问题标题】:PsExec With Tfs BuildPsExec 与 Tfs 构建
【发布时间】:2012-02-29 09:57:12
【问题描述】:

我的构建模板中有一个 InvokeProcess 活动。我已将 PsExec.exe 放入构建机器上的 %windir%\system32\ 文件夹中,并将 InvokeProcess 活动中的 FileName 指定为“PsExec.exe”,并在 Arguments 中指定一些参数。但是当构建运行时,它会给出一个错误“找不到文件:PsExec”。 我还尝试了像“%windir%\system32\PsExec.exe”和“%windir%\system32\PsExec.exe”这样的文件名。 当我尝试在从构建机器运行时键入“psexec”时,一切正常。

还有一件事。我应该将 PsExec 放在运行构建控制器或构建代理的机器上吗?

【问题讨论】:

    标签: android-activity tfsbuild psexec


    【解决方案1】:

    如果您在 AgentScope 活动中调用 InvokeProcess,则需要将文件放在构建代理机器上。否则,它需要在构建控制器机器上。

    您可能已经猜到了,我们使用 .NET Framework 的 Process 类调用您的流程。您的文件名设置为 ProcessStartInfo 的 FileName 属性。 InvokeProcess 需要此属性要求的任何标准。

    最后一件事,您是否尝试过使用文字路径 C:\Windows\System32\PsExec.exe,只是为了排除任何可能阻止 Process 对象获取路径的奇怪事情?

    【讨论】:

    • “如果您在 AgentScope 活动中调用 InvokeProcess,那么您需要将文件放在构建代理机器上。否则,它需要在构建控制器机器上。” - 这很有帮助!谢谢!我无权构建控制器机器,所以我可以将 PsExec.exe 放入共享文件夹吗?它会正常工作吗?
    • 可能不会,要从共享位置运行可执行文件,机器需要启用加载远程资源配置,默认情况下不启用。
    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2019-08-20
    • 2010-11-09
    • 2013-02-22
    • 2010-11-29
    • 2014-04-23
    相关资源
    最近更新 更多