0

ネットワークに接続していないユーザーのために slui.exe を起動して、ac# プログラムを使用して MAK キーを介して Windows インストールを検証できるようにしようとしていますが、.exe にコンパイルされるとプロセスはすぐに終了します。VS 2010 からデバッグ モードでプログラムを実行すると、プログラムは正常に実行されます。または、VS2010 がインストールされているマシンで .exe を起動すると、プログラムも正常に実行されます。私のコードは次のようになります:

string path = Environment.SystemDirectory;
ProcessStartInfo startInfo = new ProcessStartInfo(path + "\\slui.exe");
startInfo.Arguments = 4;
Process p = new Process();
p.StartInfo = startInfo;
p.Start();
p.WaitForExit();

プロセス エクスプローラーを実行してみましたが、このコードを実行しようとしてもプロセスが開始されていません。

.netに何かあるのでしょうか?? 私は両方のマシンで .net 4 を実行しているので、それが問題だとは思いませんでした。

このコードが私の開発マシンではデバッグ モードまたは .exe にコンパイルされたときに正常に動作するのに、他のマシンでは動作しない理由が本当にわかりません。どこかで依存関係が欠落しているに違いありません。

どんな助けでも大歓迎です!

4

1 に答える 1

1

EventLog を確認してください。起動時にプロセスがクラッシュした場合は、そこにリストされます。症状の良い例は、依存関係が存在しないプロセスを開始しようとした場合です (つまり、slui.exe が slui.dll を参照し、それが見つからない)。

于 2012-05-18T14:56:38.383 に答える