Envrionment: .Net 2.0, Windows 2003, 64-разрядныеНевозможно запустить cmd.exe с помощью system.diagnostics
Я пытаюсь перенести сайт от старого сервера на новый сервер, а ниже код не работает больше после перемещение кодов:
System.Diagnostics.ProcessStartInfo psi = new
System.Diagnostics.ProcessStartInfo("cmd.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;
// Start the process
System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);
System.IO.StreamReader strm = proc.StandardError;
System.IO.StreamReader sOut = proc.StandardOutput;
// Attach the in for writing
System.IO.StreamWriter sIn = proc.StandardInput;
sIn.WriteLine(exec);
strm.Close();
sIn.WriteLine("EXIT");
proc.Close();
// Read the sOut to a string.
string results = sOut.ReadToEnd().Trim();
// Close the io Streams;
sIn.Close();
sOut.Close();
Похоже, что система не позволяет запустить ни один из .exe. Код работал правильно на предыдущем сервере, поэтому я предполагаю, что это некоторые проблемы с конфигурацией системы. Я нашел аналогичную проблему здесь: Foo.cmd won't output lines in process (on website)
но я не понял часть «создайте нового пользователя с привилегиями для выполнения пакетных скриптов и выберите этого пользователя в качестве пользователя AppPool в IIS». Я знаю, как создать нового пользователя , но не смог определить способ предоставления пользователю права на выполнение .exe или пакетных файлов.
Любой совет будет полезен.
Спасибо,
Какое сообщение об ошибке вы видите? – jrummell
Я не вижу сообщений об ошибках. Просто ничего не происходит –