我有下面的代码,WaitForExit方法没有等待。它只运行命令,然后转到下一个语句。该命令用于取消所有应用程序,而parms用于卸载命令。卸载运行良好,但我需要卸载在继续之前完成.它没有阻塞。
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = commandName;
startInfo.Arguments = parms;
Process process = Process.Start(startInfo);
process.WaitForExit();发布于 2011-02-11 18:28:28
我强烈怀疑Andrey的评论是正确的--你正在开始的过程正在退出,但是已经开始了一个新的过程本身。
找到它的简单方法是在调用process.Id之前打印出WaitForExit,然后尝试在任务管理器中找到该进程。我想你会发现它不会在那里的。
您可能需要循环,在等待卸载完成的另一个指示符时短暂地休眠,例如删除特定的文件或注册表项。不太理想,但这可能是你拥有的最好的。
https://stackoverflow.com/questions/4972565
复制相似问题