CC.NETからPSExecタスクを呼び出そうとしていますが、いくつかの問題が発生しています。
これが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.
2回目にビルドを強制すると、「アプリケーションを正しく初期化できませんでした(0xc0000142)」という恐ろしいエラーメッセージが表示されます。ビルドを2回以上実行することはできません
さらに、サービスMSC内からクルーズコントロール.netサービスをシャットダウンしようとすると、シャットダウンできません。どこかにロックがかかっていて、解放されていないようなものです。サービスを強制終了する唯一の方法は、ccservices.exeプロセスを強制終了することです。
私はnantタスクを使用してまったく同じことを試し、まったく同じ結果を得ました。最初は動作し、2回目は失敗し、プロセスをシャットダウンできません。
これがCC.NETの問題なのかPSEXECの問題なのか(もちろん私も)わかりません。
誰かアイデアがありますか?CC.NETフォーラムにも投稿しています。
PSExecの最新かつ最高のものとCC.NETの1.4.4を使用しています。
Thx、ジョエル