2014-12-06 2 views
1
을 사용하여 다른 응용 프로그램을 설치하십시오.

시스템에서 응용 프로그램을 제거하고 새 버전을 설치하려고합니다.응용 프로그램을 제거한 다음 C#

나는 C# 코드

var process1 = Process.Start(@"C:\Program Files\CPUID\CPU-Z\unins000.exe"); 
process1.WaitForExit(); 
var process2 = Process.Start(@"C:\Users\abc\Downloads\Programs\cpu-z_1.71-setup-en.exe"); 

코드가 실행되면 CPU-z_1.71의 설치 파일이 제거 프로그램 종료 전에 실행에 Process.Start를하고 WaitForExit 방법을 사용하여 시도했다.

전체 제거 대화 상자의 확인 버튼을 누를 때까지 설치 프로그램을 대기 시키려면 어떻게합니까?

은 가능한 위의 작업을 사용하여 처리 할 수 ​​있나요 아니면 당신은 기사 아래에서 방법을 찾을 수있는 몇 가지 대안

답변

2

를 사용해야합니다.

How to know when a process created by Process.Start() was closed?

  • 이 코드는 방법 일 수있다. 나는 위의 코드를하려고 할 때

    private void RunNotePad() 
    { 
        Process p1 = new Process("notepad.exe"); 
        p1.EnableRaisingEvents = true; 
        //when process exit, excute ProcessExited function. 
        p1.Exited += new EventHandler(ProcessExited); 
        p1.Start(); 
    } 
    
    public void ProcessExited(object source, EventArgs e) 
    { 
        //start to install a new version 
    } 
    
  • +0

    내가 System.Diagnostic.Process 1 개 인수를 취하는 생성자를 포함하지 않는 내용의 오류를 얻을 – dexter

    +0

    아마 NET framwork 버전의 차이입니다. [msdn] (http://msdn.microsoft.com/en-us/library/system.diagnostics.process (v = vs.110) .aspx)의 Process 클래스를 사용하여 몇 가지 샘플 코드를 찾을 수 있습니다. – hyun

    +0

    나는 그것을 시도했지만, 하지만 이전 버전의 설치 제거의 마지막 대화 상자를 클릭하기 전에 새 버전의 설치 프롬프트가 여전히 나타납니다 – dexter

    관련 문제