Я пытаюсь запустить внешний процесс из службы .NET Windows. В прошлом я использовал перегрузку Process.Start()
, которая принимает путь к исполняемому файлу и строку командной строки. Это работает. Но сейчас я хотел бы запустить процесс и запустить его в контексте конкретного пользователя. Поэтому я называю эту версию Start()
public static Process Start(
string fileName,
string userName,
SecureString password,
string domain)
Однако, когда я вызываю метод, приложение, которое я пытаюсь запустить, генерирует необработанное исключение:
The application failed to initialize properly (0xc0000142). Click on OK to terminate the application.
Я пытался запускать разные приложения, и все они генерировали одно и то же исключение. Я запустил код за пределами службы Windows, и приложение запускается правильно.
Так есть ли способ заставить это работать в службе Windows?