私のプログラムは、Windows サービス経由で実行され、Win7 および Win8 で次のコードを正常に実行できました。
Log("About to run the file...");
try
{
Process.Start(filePath, args);
Log("File Triggered!");
}
catch (Exception ex)
{
Log("Error.");
}
にUI
あるプログラムのfilePath
は表示されませんでしたが、プログラムはバックグラウンドで完全に機能していました。
Windows 2012 R2 環境でまったく同じプログラムを試してみると、ログ ファイルに上記の最初のログ メッセージ (「ファイルを実行しようとしています...」) を受け取った後、他に何もログに記録されProcess.Start()
ず、どちらも機能しないことに気付きました。まったく同じプログラムが他のオペレーティング システムで動作したため、これは混乱を招きます。
Process.Start()
が正常に呼び出されなかった場合、ログに「エラー」メッセージが表示されないのはProcess.Start()
誰ですか? また、実行された場合に「ファイルがトリガーされました!」というメッセージが表示されないのはなぜですか? メッセージ?
更新: コメントに従って、Process Monitor を実行しました。これは、ターゲットの .exe ファイルが実行されるはずだった正確な時刻に生成されたログです。見てみて、疑わしいものがないかどうかを確認してください。