winform 更新程序 跟主程序问题
小弟写了一个项目里面用到了更新程序 在Program中用到了这个 Application.SetCompatibleTextRenderingDefault(false);
//先检查是否更新
frmUpdate fu = new frmUpdate();
fu.checkUpdate();
if (fu.availableUpdate > 0)
{
fu.ShowDialog();
}
//网络验证
frmCheck fc = new frmCheck(); 如果availableUpdate中的值>0则表示要更新,现在就是我更新完成后要先重启该程序,在frmUpdate中 try
{
foreach (Process p in Process.GetProcessesByName("LazyTao.exe"))
{
p.Kill();
}
//将临时目录下的下载文件复制到当前跟目录(即工作目录下)并删除临时目录
CopyFile(tempUpdatePath, Directory.GetCurrentDirectory());
System.IO.Directory.Delete(tempUpdatePath, true);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
//启动主程序
if (this.isRun==true)
{
Process.Start(mainAppExe);
}
会提示错误LazyTao.exe在另一个程序中运行 该怎么解决?
------解决方案--------------------http://msdn.microsoft.com/zh-cn/library/het2hs40(v=vs.110).aspx
Kill 方法将异步执行。 在调用 Kill 方法后,请调用 WaitForExit 方法等待进程退出,或者检查 HasExited 属性以确定进程是否已经退出。