Поскольку вы не получаете исключение при запуске процесса, вам необходимо выяснить, что он на самом деле делает.Я бы изменил вашу последнюю строку на
var pLicenseGenerator = Process.Start(Settings.LicenseExecutableLocation, Params);
, а затем исследовал свойства объекта pLicenseGenerator в сеансе отладки, подождав несколько секунд, пока процесс выполнит свою задачу.Этот объект будет иметь класс Process , и я бы обратил особое внимание на свойство .ExitCode
.В хорошо спроектированном консольном приложении это значение будет установлено на ненулевое значение, если программа обнаружила ошибку (например, старая переменная DOS% ERRORLEVEL%.)
Если .ExitCode
не помогает,Я бы рекомендовал сбросить .StandardOutput на веб-страницу или в файл для отладки.
Когда в прошлом я сталкивался с подобными проблемами, это всегда было проблемой с тем, какЯ отформатировал входные параметры процесса.Иногда, если параметр представляет собой длинный путь к файлу, вам нужно обратить особое внимание на способ, которым вы заключаете его в двойные кавычки.
Один простой шаг - указать точный путь и параметры, которые вы передаетеProcess.Start()
, а затем посмотрите, что произойдет, если вы запустите их самостоятельно из командной строки.Если они работают нормально, то, вероятно, это какая-то проблема, связанная с разрешениями, как предположил другой автор.