2

C#Windowsサービス内から7-Zipコマンドライン.exeを実行しようとすると、エラーをスローせずにアプリケーションがハングします。以下のセクションでブレークポイントを設定すると、Process.Start(p)を押すとハングが発生することがわかりました。同じコードをWindowsフォームアプリに入力すると、発行元を確認できなかったことを示す[ファイルを開く-セキュリティの警告]メッセージボックスが表示されます。警告の「実行」をクリックすると、問題なく続行されました。この警告を抑制するために、[このファイルを開く前に必ず確認する]チェックボックスをオフにする以外の方法はありますか?

私のコードは次のとおりです。

ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "7za.exe";

p.Arguments = "a -tzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
p.WindowStyle = ProcessWindowStyle.Hidden;

Process x = new Process();
x = Process.Start(p);
x.WaitForExit();

よろしくお願いします。

4

1 に答える 1

3

Windowsエクスプローラーで7zexeを右クリックすると、ファイルのプロパティに[ブロック解除]ボタンが表示されます。それをクリックしてから[適用]をクリックすると、コンピューター上で停止しますが、残念ながら、インターネットからダウンロードされ、署名されていないexeファイルのウィンドウの一部にすぎません。

于 2013-02-26T22:47:25.473 に答える