Ошибка с ProcessStartInfo (запустить пакетный файл) - PullRequest
1 голос
/ 27 мая 2011

мы унаследовали некоторый код, и он отлично работает на машине с Windows Server 2003 и на моей машине с Windows 7 64bit.Когда я развертываю его на компьютере с Windows Server 2008 R2, код не запускается, и у него может быть что-то с разрешениями.

Код (в веб-службе ASP.NET):

public static void RunBatch(string file)
{
    try
    {
        ProcessStartInfo startInfo;
        Process batchExecute;

            startInfo = new ProcessStartInfo(file);
            startInfo.WorkingDirectory = @"C:\batch";
            startInfo.CreateNoWindow = true;

            startInfo.WindowStyle = ProcessWindowStyle.Hidden;

            startInfo.UseShellExecute = true;
            batchExecute = new Process();
            batchExecute.StartInfo = startInfo;

            batchExecute.Start();
            batchExecute.StartInfo.CreateNoWindow = true;
            batchExecute.WaitForExit();
            batchExecute.Close();
        }
        catch (Exception ex)
        {
            Logger.WriteOutputLog("Exception in RunBatch: " + ex.Message.ToString());
        }
    }

и когда он вызывается, он просто «останавливается», ничего не происходит, но не возникает никаких исключений.

Любые предположения о том, что этот фрагмент кода может не запускать на Windows Server 2008 без некоторой конфигурации?

Заранее спасибо.

Обновление: оно останавливается на

batchExecute.WaitForExit();

Запускается процесс FTP (который, похоже, не может загружать файлы)

ftp -s:"C:\Batch\Commands.txt" ipNumber

процесс ftp пытается загрузить файл, и на моем компьютере он работает нормально, но на сервере он останавливается на 150. Открытие соединения для передачи данных в двоичном режиме для fileName fileSize

Возможно подключениеХотя FTP и я могу просматривать его через браузер на сервере без проблем.

...