WaitForExit()在UAC或安全警告上激活

时间:2013-07-18 11:22:06

标签: c# process.start waitforexit

我对c#这个论坛很新,但就我而言,我没有看到任何像我这样的问题可以解决我的问题。

我正在调用方法Process.WaitForExit(),等待安装文件完成安装。但是,该方法似乎将UAC视为“进程”,并在UAC上单击“确定”后激活。在代码进行之前是否有更好的方法等待安装过程完成?或者我做错了吗?手动禁用UAC(如果可能的话)是禁止的,除非它以编程方式完成。

以下是代码的一部分:

编辑:正确调用流程

Process netInstall = Process.Start(filePath + "\\Installer.exe");
netInstall.WaitForExit();
Console.WriteLine("Installation Finished!");

编辑2:如果我说我正在安装MySQL Server 5.6,它会有帮助吗?似乎除了安全警告之外,它还会在启动之前弹出并关闭一些窗口。问候。

2 个答案:

答案 0 :(得分:0)

代码不正确。您创建Process类的实例,然后调用静态方法Process.Start,它创建一个新的Process实例。

您的代码应如下所示:

Process netInstall = Process.Start(filePath + "\\Installer.exe");
netInstall.WaitForExit();
Console.WriteLine("Installation Finished!");

答案 1 :(得分:0)

使用提升的权限运行您的应用程序:

<requestedExecutionLevel level="requireAdministrator">

还要考虑BasyStallion的答案并正确启动netInstall