надеюсь, что это правильные вопросы.
Это устаревший код, который я поддерживаю.
Службы Windows (вход в систему как SYSTEM или «выделенный пользователь службы») выполнят переносимый исполняемый файл python, запуск python.exeкод (.pyc) с дополнительными параметрами.
Вопрос:
Нет исключения из Process.Start () и не возвращается исключение, есть ли способ выяснить, почему?Пожалуйста, не вставляйте документацию MSDN, я прочитал ее достаточно раз.
Я пытаюсь запустить python с UseShellExecute true / false, не имеет значения, не работает.
Код службы Windows C #:
var processInfo = new ProcessStartInfo(_pythonExePath/*path to python.exe*/, exeParams/*path to pyc, and additionl params*/)
{
WorkingDirectory = workingDirectory
};
var process = new Process
{
StartInfo = processStartInfo,
EnableRaisingEvents = true
};
process.Start();
Когда я выполнял python.exe с аргументами из командной строки (как «пользователь выделенного сервиса», а также с psexecкак СИСТЕМА), это сработало.
Вызов GetLastError () или Marshal.GetLastWin32Error () вернул 0.
В Event Viewer (Приложение, Система, Безопасность) ничего не было
Я зафиксировал с помощью монитора процесса 2 выполнениятот, который работал, тот, который не работал.оба выполнения показывают, что python.exe запущен, и, конечно, после этого происходят тысячи звонков ... что я должен исследовать?Как я могу увидеть, если политика безопасности заблокировала мой exe?
Спасибо.