запуск процесса из службы Windows .NET - PullRequest
7 голосов
/ 07 мая 2010

Я пытаюсь запустить консольное приложение из .NET Windows Service. Служба работает на сервере Windows 2008.

Я использую Process.Start для запуска консольного приложения, и оно запускается (я вижу это в задаче mgr), но я никогда не получаю обратно идентификатор процесса, а вызов Process.Start просто зависает. Если я запускаю ту же службу со своего компьютера под управлением Windows 7, процесс запускается, и я получаю идентификатор процесса без проблем.

Я в замешательстве ..

Ответы [ 3 ]

5 голосов
/ 07 мая 2010

У меня была точно такая же проблема. Для меня ключ должен был установить StartInfo.UseShellExecute = false;

1 голос
/ 07 мая 2010

Возможно ли, что процесс, который вы порождаете, пытается запросить у оконной станции ввод данных пользователем?В каком случае это может зависнуть ...

Какой процесс вы запускаете?Это часть платформы / ОС (например, cmd.exe) или что-то нестандартное?

0 голосов
/ 15 августа 2012

После долгого поиска решения этой проблемы я нашел мудрые камни для своей проблемы.

Я создал новую программу на основе WindowsForm с той же командой Process.Start, после чего появляется стандартное диалоговое окно «Предупреждение системы Windows», и поэтому оно не работает.

После отключения «Контроль доступа пользователей» служба Windows работает правильно.

...