RT:

解决方案 »

  1.   

    try
                {
                    Process p = new Process();
                    ...
                    ...
                    p.Start();
                    p.WaitForExit();
                    p.Close();
                }
                catch (Exception e)
                {
                    e.ToString();
                    MessageBox.Show(e.ToString());
                }如果正常退出表示安装成功,如果抛出异常,安装失败。
      

  2.   

    Process.ExitCode;这个貌似对你有用。
      

  3.   

    如果说看到完成按钮才算成功..那么你可以做个图像识别工具.看到这个按钮就返回成功.
    或者是安装程序运行到一定时间才算成功..你可以计时..
    或者是安装程序是没有异常中止才算成功.你可以try catch 
    或者是有没有创建快捷方式..一般程序安装好才有快捷方式
    或者是控制面板里添加删除程序是否有记录.
    或者是注册表扫描是否有软件名.
    一般只有安装程序返回成功信号,你才知道是否成功.
    没有通用的判断方法的话.你只能针对某个安装程序去专门做判断.
    比如客户按一下你的程序下一步.你的程序就自动按一下真正的安装程序的下一步.这样模拟操作.
      

  4.   

    你可以为外部进程添加一个事件监视器,当退出后,获取通知System.Diagnostics.Process exep = new System.Diagnostics.Process(); 
    exep.StartInfo.FileName = @"C:\setup.exe"; 
    exep.EnableRaisingEvents = true; 
    exep.Exited += new EventHandler(exep_Exited); 
    exep.Start(); //exep_Exited事件处理代码,这里外部程序退出后激活,可以执行你要的操作
    void exep_Exited(object sender, EventArgs e) 

                MessageBox.Show("Notepad.exe运行完毕"); 

      

  5.   

    取消或者是完成安装ExitCode 都是== 0,如果!=0的话,跟取消没什么区别,
      

  6.   


    额,,你那头像,让我很egg pain...