0

これは簡単だと思うかもしれません...コマンドラインから実行できます

c:\windows\system32\cscript c:\windows\system32\iisext.vbs /ListFile

しかし、マネージコードから試してみると...

Process proc = new Process();
proc.StartInfo.FileName = @"c:\windows\system32\cscript";
proc.StartInfo.Arguments = @"c:\windows\system32\iisext.vbs /ListFile";
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
using (StreamReader sr = proc.StandardOutput) {
...

次のエラーが表示されます。

入力エラー: スクリプト ファイル "c:\windows\system32\iisext.vbs" が見つかりません

私は何が欠けていますか?

ありがとう

4

1 に答える 1

2

ハンスは正しいです。問題はほぼ確実に、32 ビット モードで実行していることです。つまり、C:\windows\system32 は、あなたが考えている場所を指していません。(Process Monitor でファイル アクセスを監視して確認します)。

代わりに C:\windows\sysnative を使用するか、アプリをコンパイルして AnyCPU をターゲットにします。

于 2013-03-28T20:59:24.103 に答える