コードサンプルの話:vbスクリプトを使用して自動テストビルドを実行していますが、32ビットと64ビットのWindows7では次の行の実行が異なります。
CmdLine ("cmd /c C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\Users\tester_kafka\Documents\VisualStudio2012\Projects\CFX_Manager_UITest\CFX_Manager_UITest.sln")
ここで、CmdLineは次のような関数です。
Function CmdLine(strCommand)
Set WshShell = CreateObject("WScript.Shell")
Set WshShellExec = WshShell.Exec(strCommand)
Do While WshShellExec.Status = 0
WScript.Sleep 100
Loop
End Function
32ビットのWindows7システムでは、ビルドが完了し、vbスクリプトが完了します。64ビットのWindows7システムでは、cmdウィンドウは手動で閉じるまで開いたままになり、その後スクリプトは完了に進みます。もちろん、目標は、スクリプトを64ビットで自動化して自動的に処理することです。
行に&exitを追加し、/ nr:falseをMSBuild.exeに切り替えて引用符をいじってみました(率直に言って、他に何を試すべきかわかりません...)。もっと簡単なことをするべきですか?そして、なぜOSがそれほど大きな違いを生む必要があるのでしょうか。
解決策でなくても、どんな情報でも歓迎します。皆さん、ありがとうございました。