0

テスト サーバーからのプロセスの実行に問題があります。Windows XP と iis5.1 を使用しているローカルホストで、machine.config ファイルを次の行に変更しました -

次に、iis のログインを変更して、ローカル システム アカウントとしてログオンし、サーバーがデスクトップとやり取りできるようにしました。これにより、XP でコードからプロセスを実行する際の問題が修正されました。

Windows Server 2003 で同じ方法を使用すると (iis6 分離モードを使用)、プロセスは実行されません。

プロセスを実行するコードは次のとおりです (コマンド ラインから iecapt への入力をテストしたところ、イメージが生成されました)。

    public static void GenerateImageToDisk(string ieCaptPath, string url, string path, int delay)
    {
        url = FixUrl(url);
        ieCaptPath = FixPath(ieCaptPath);
        string arguments = @"--url=""{0}"" --out=""{1}"" --min-width=0 --delay={2}";
        arguments = string.Format(arguments, url, path, delay);
        ProcessStartInfo ieCaptProcessStartInfo = new ProcessStartInfo(ieCaptPath + "IECapt.exe");
        ieCaptProcessStartInfo.RedirectStandardOutput = true;
        ieCaptProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        ieCaptProcessStartInfo.UseShellExecute = false;
        ieCaptProcessStartInfo.Arguments = arguments;
        ieCaptProcessStartInfo.WorkingDirectory = ieCaptPath;
        Process ieCaptProcess = Process.Start(ieCaptProcessStartInfo);
        ieCaptProcess.WaitForExit(600000);
        ieCaptProcess.Close();
    }
4

1 に答える 1

0

デフォルトでは、IIS ユーザー アカウントには拒否権限があります。それらを削除してみてください。また、IIS がアプリケーション プールを実行しているアカウントに書き込み権限があることを確認してください。これはネットワーク サービス アカウントだと思います。

于 2012-04-04T23:25:12.757 に答える