2013-07-22 3 views
1

다른 것들 중에서도 관리 권한을 가진 보조 프로그램을 시작해야하는 Windows 서비스를 작성 중입니다. 이 서비스는 보조 프로그램을로드 할 때를 제외하고는 완벽하게 작동합니다. 다음은 코드입니다. "Update Found"는 로그에 표시되지만 이상한 부분은 "Exception"또는 exception.tostring()이 아닙니다. 이 새로운 코드를 아래에 붙여 넣지 않고도 서비스를 시작, 실행 및 중지 할 수 있습니다. 서비스에서 다른 프로그램을 시작하려고 했으므로이 서비스는 "업데이트 찾음"을 신속하게 반영하고 즉시 services.msc에서 "서비스가 중지되었습니다"라는 메시지를 읽습니다.Windows C# 서비스가 왜 충돌합니까?

두 번째 프로그램을 시작할 때 내 Windows C# 서비스가 충돌하는 이유를 알고 있습니까?

System.IO.File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory + "log.txt", "Update Found\r\n"); 
try 
{ 
    System.Diagnostics.Process processss = new System.Diagnostics.Process(); 
    System.Diagnostics.ProcessStartInfo startInfooo = new System.Diagnostics.ProcessStartInfo(); 
    startInfooo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
    startInfooo.FileName = "cmd.exe"; 
    startInfooo.Arguments = "/C " + AppDomain.CurrentDomain.BaseDirectory + "Manager.exe"; 
    processss.StartInfo = startInfooo; 
    processss.Start(); 
    System.Threading.Thread.Sleep(10000); 
} 
catch (Exception ex) 
{ 
    System.IO.File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory + "log.txt", "Exception"); 
    System.IO.File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory + "log.txt",ex.ToString()); 
} 

답변

관련 문제