ASP.NET Webサイトから古い.NETアプリケーションを実行しようとしています。 WebとStackoverflow(同様の問題)を読んだ後、私は次のコードに行きます。 問題は、私は常にエラーコードを取得することです(私は管理目的のアカウント をテスト目的に使用しています)。 exeファイルを手動で実行すると問題なく動作します。私が手EXEファイルを実行しているASP.NET
private void Execute(string sPath)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.UserName = "administrador";
string pass = ".............";
System.Security.SecureString secret = new System.Security.SecureString();
foreach (char c in pass) secret.AppendChar(c);
proc.StartInfo.Password = secret;
proc.StartInfo.WorkingDirectory = ConfigurationManager.AppSettings["WORKINGDIRECTORY"].ToString();
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = sPath;
proc.Start();
proc.WaitForExit();
string result = proc.StandardOutput.ReadToEnd();
Response.Write(result + " - " + proc.ExitCode);
proc.Close();
}
}
終了コードは次のとおりです。-1066598274 結果変数が空です。 例外が、私はあなたがそう、管理者のユーザープロファイルのものがロードされtrue
にproc.StartInfo.LoadUserProfile
プロパティを設定する必要がありますIIS 7.0とWindows 2008のに事前に
おかげで、
エセキエル
私はIIS7でW2K8を使用しています – Ezequiel
"エラーコード"を取得してください。 Exceptionをキャッチした後、ex.ToString()の結果をポストすることで、すべてのInnerExceptionを含む完全な例外をポストしてください。 –
また、あなたの質問を編集し、コメントを残さないでください。 –