2012-05-04 2 views
2

Кто-нибудь знает, почему я получаю эту ошибку (не каждый раз, но иногда) при попытке запустить одно консольное приложение из другого. Ошибка:Запуск процесса (одно консольное приложение от другого)

System.ComponentModel.Win32Exception (0x80004005): Unknown error (0xfffffffe) at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start()

это мой код:

System.Diagnostics.Process myProc = new System.Diagnostics.Process(); 
try 
{ 
    myProc.StartInfo.FileName = @"C:\MyFolder\MyExecutableApplication.exe"; 
    myProc.Start(); 
    myProc.WaitForExit(); 
    procesResult = myProc.ExitCode; 
} 
catch (Exception ex) 
{ 
    cLog.WriteLog("problem", ex.ToString(), myConfig.LogPath); 
} 
finally 
{ 
    if (myProc != null) 
    { 
     myProc.Close(); 
    } 
} 

Спасибо

+1

Вы уверены, что MyExecutableApplication.exe отлично работает? Требуются ли некоторые аргументы или запускаются из определенной рабочей папки? – digEmAll

+0

не требует никаких аргументов, когда я запускаю его вручную, все работает отлично, он отлично работает с этим кодом, но иногда я получаю ошибку выше :( – Avicena00

ответ

0

Похожи на проблемы с подъемом разрешения (хотя я не знаю причину, вы получите сообщение об ошибке иногда); попробуйте добавить;

myProc.StartInfo.Verb = "runas"; 
2

Я думаю, это проблема разрешения. Попробуйте

myProc.StartInfo.UseShellExecute = false; 
myProc.StartInfo.RedirectStandardOutput = true; 
myProc.StartInfo.RedirectStandardError = true; 

ссылки из этого comments

0

я столкнулся с той же проблемой. Попробуйте отключить UAC и добавить исключение в windows defender (или другой инструмент безопасности)

Смежные вопросы