Запуск дочернего процесса из Windows-службы
Пишу Windows-службу(сервис) на C# - мне нужно запускать из неё дочерний процесс
(обычное WinForms приложение) - т.е. у службы есть настройки, если вдруг настройки оказываются не корректными должно открываться окошко, где пользователь может ввести новые настройки.
Процесс запускать пытаюсь так Process.Start("ToolName.exe") - где вместо ToolName.exe - указываю реальный экзешник WinForms приложения которое и должно запуститься - тока оно не фига не запускается - и ошибок ни каких, но приложение не запускается - окошка не вижу с настройками...
Пиши в приложении лог. Если оно действительно запускается - смотри под каким аккаунтом запущена служба. В диспетчере задач можно посмотреть процессы всех пользователей.
окно приложения уже не открывается, нащёл на другом форуме причину почему так
происходит, вот:
Цитата:
его окно не отображается, т.к. он является дочерним к сервису
из которого запускается, а любой сервис - IDLE => процесс автоматом становиться IDLE,
менял приоритеты и виды окна приложения, но так и не удалось разрешить ситуацию. подскажите как справиться с проблеммой.
Там предложили тока варианты как обойтись без использования дочернего процесса,
но мне эти варианты что-то не очень нравятся - не уж то никак дочерний процесс из под службы не запустить... :(
Попробуй CreateProcessAsUser()
Вы в какой хотите показать?
Служба - это такая штука, что лучше К ней обращаться, а не ИЗ нее. Может быть имеет смысл сделать программу-монитор, которая станет сервис опрашивать ?
сам вбивал. Вот сейчас запуск приложения-конфигуратора я запихнул в инсталятор службы(сервиса). Сейчас всё нормально отбражается - правдо возник вопрос, а как
из serviceInstaller1 (собсно объект инсталятора) - получить путь к паке где настройки хранить... но для этого вопроса лучше наверно другую тему создать.