Using PSExec from within CruiseControl .NET

Posted by JayRu on Stack Overflow See other posts from Stack Overflow or by JayRu
Published on 2010-03-17T17:27:02Z Indexed on 2010/03/17 17:31 UTC
Read the original article Hit count: 767

Filed under:
|
|

Hi All,

I'm trying to call a PSExec task from CC.NET and running into some difficulties.

Here's the CC project

<project name="Test">
  <tasks>
    <exec>
      <executable>C:\Utilities\psexec.exe</executable>
      <buildArgs>-u [UNAME] -p [PWD] "C:\Utilities\Joel.bat"</buildArgs>
    </exec>
   </tasks>
 </project>

Here's the source of Joel.bat

CLS
@ECHO OFF

What happens is that the first time I force the project to build, it runs successfully. The PSExec task is kicked off and the Joel.bat file is executed. I get some information in the build log about exit codes, but the task is successful.

Here's the build log output.

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.

The second time I force the build I get the dreaded "The Application failed to initialize properly (0xc0000142)" error message. I can't ever run the build more than once

More so, if I try to shut down the cruise control .net service from within the services MSC, it can't. It's like there's a lock somewhere that is taken and not released. The only way I can kill the service is by killing the ccservices.exe process.

I've tried the exact same thing using an nant task and gotten the exact same results. It works the first time, and fails the second and I can't shutdown the process.

I'm not sure if this is an issue with CC.NET or with PSEXEC (or me of course).

Anybody got any ideas? I'm posting to the CC.NET forums as well.

I'm using the latest and greatest of PSExec and 1.4.4 of CC.NET.

Thx, Joel

© Stack Overflow or respective owner

Related posts about cruisecontrol.net

Related posts about psexec