Я пытаюсь запустить приложение .NET под другим пользователем из службы .NET. Идея состоит в том, чтобы создать изолированное хостинговое приложение в Windows. В службе я программно создал пользователя в Windows, создал папку для этого пользователя и загрузил хост .exe с сервера в эту папку. Затем я запускаю хост .exe с помощью System.Diagnostics.Process. Вот StartInfo для процесса:
_process = new Process
{
StartInfo =
{
Arguments = " -debug",
FileName = instanceDirectory + "host.exe",
WorkingDirectory = instanceDirectory,
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardOutput = true,
RedirectStandardInput = true,
UserName = Helpers.GetUserNameForInstance(_hostid),
Password = _hostpass,
Domain = ""
},
EnableRaisingEvents = true
};
Когда я запускаю службу как СЛУЖБУ, процесс мгновенно завершается с ошибкой с кодом -1073741502. но когда я запускаю службу от имени того же пользователя, который указан в службе Windows, но в интерактивном режиме в консоли, все работает нормально. Это происходит только при запуске службы в качестве СЛУЖБЫ, а не непосредственно в консоли.
Любая помощь приветствуется. Это уже давно стало головной болью, и это последнее средство :(