Запуск процесса удаленно - PullRequest
0 голосов
/ 07 июня 2018

Я обновляю программу, которая будет запущена с использованием сервиса GoAnywhere.Предыдущая версия программы работала как запланированное задание на сервере, на котором была собственная копия стороннего программного обеспечения.

Я вызываю процесс, используя следующий код:

ProcessStartInfo pI = new ProcessStartInfo();
pI.CreateNoWindow = true;
/*
* Tried: @\\server\path\to\process, @\\server\c$\path\to\process - generate errors on server
* Tried: @c:\local\path\process, @process - generate errors within GoAnywhere
*/
pI.FileName = @"c:\local\path\process";
pI.Arguments = string.Format("-u {0} -j {1}", "\"User\"", "\"JobName\"");

Я могу запустить программное обеспечение на сервере напрямую (имитируя первоначальный локально запланированный процесс), но если я запускаю его через GoAnywhere, я получаю одну из двух ошибок.

  1. Задача GoAnywhere запускает мое программное обеспечение,который запускает процесс (@ \ server \ path \ to \ process).Это приводит к локальным ошибкам (демонстрируется при запуске программного обеспечения таким же образом на сервере), включая ошибку безопасности.Если ошибка безопасности была обойдена, то появляется вторая ошибка, указывающая на то, что стороннее программное обеспечение установлено неправильно.Если ошибки не были обойдены, время моего программного обеспечения истекло из-за протокола задачи GoAnywhere.
  2. Задача GoAnywhere запускает мое программное обеспечение, которое запускает процесс (@c: \ local \ path \ process),Однако процесс завершается сбоем со следующим перехваченным исключением:

    System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
    at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
    at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
    at InsightCass.Program.Main(String[] args)
    

Ясно, что использование локального пути позволяет мне запускать его непосредственно на сервере, но не через удаленную задачу,Есть ли способ указать серверному процессу, используя его полный путь к серверу, но сервер обрабатывает его так, как будто он вызывается локально?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...