У меня есть служба Windows, написанная на С#, и мне нужно запустить консольное приложение. Консольное приложение также написано на С#.
Консольное приложение работает нормально, когда оно выполняется не из службы Windows. Когда он бежит от ws, он ничего не делает, и он должен работать в течение 10-20 секунд, я вижу, что код отладки выполняется сразу.
Я запускаю консольное приложение со следующим кодом:
proc.Start(fullPathToConsole, args);
proc.WaitForExit();
путь к консоли прав, и когда я пытаюсь запустить его из cmd или просто в проводнике (без аргументов), он работает нормально. Но после работы с сервисом я не вижу никакого эффекта.
Я уже пытался перейти к свойствам сервиса и предоставить ему доступ к рабочему столу и работать как с системой, так и с моим пользователем (также указанными в свойствах службы). Все остается неизменным.
ДОПОЛНЕНИЕ: Я знаю, что у службы нет ui, и я не хочу этого. Я хочу, чтобы служба запускала консольное приложение. Нет необходимости получать какие-либо данные от него или использовать эту консоль, например, ui, просто запустите ее, чтобы выполнить ее работу.
UPDATE I: обнаружено, что запуск calc или любое другое приложение Windows просто. Но все равно нельзя запускать cmd или любое консольное приложение. На самом деле мне нужно запустить его на XP SP2 и Windows 2003 Server. Поэтому не нужно взаимодействовать с Vista в любом случае.
Был бы рад любым комментариям!