中,我试图调用从CC.NET一个PSEXEC任务,运行到一定的困难。使用PSEXEC从CruiseControl的.NET
这里的CC项目
<project name="Test">
<tasks>
<exec>
<executable>C:\Utilities\psexec.exe</executable>
<buildArgs>-u [UNAME] -p [PWD] "C:\Utilities\Joel.bat"</buildArgs>
</exec>
</tasks>
</project>
这里会发生什么事是我第一次强制项目建设,运行成功的Joel.bat
CLS
@ECHO OFF
的来源。该PSEXEC任务拉开序幕并执行Joel.bat文件。我在构建日志中获取有关退出代码的一些信息,但任务已成功完成。
这里的生成日志输出。
PsExec v1.97 - Execute processes remotely
Copyright (C) 2001-2009 Mark Russinovich
Sysinternals - www.sysinternals.com
C:\Utilities\Joel.bat exited with error code 0.
我第二次强制构建我得到了可怕的“应用程序未能正确初始化(0xc0000142)”的错误消息。我不能永远运行构建不止一次
更更何况,如果我尝试从服务MSC内关闭巡航控制.NET服务,它不能。就好像有一个锁被锁定在某个地方而没有被释放。我可以杀死该服务的唯一方法是通过杀死ccservices.exe进程。
我试过完全相同的事情,使用一个nant任务,并得到完全相同的结果。它第一次运作,第二次失败,我不能关闭这个过程。
我不确定这是CC.NET还是与PSEXEC(或我当然)的问题。
任何人有什么想法?我也发布到CC.NET论坛。
我使用的是最新最好的PSExec和CC.NET 1.4.4。
THX,乔尔
是的,我已经试过这个/ ACCEPTEULA选项。在这个特定的场景中,我希望它等到任务完成。这不是一个火,忘记类型的任务,因为在生成过程中其作用,并有报告进度回CC。 – JayRu 2010-03-17 19:19:29