日期:2014-05-18 浏览次数:21016 次
try { System.IO.File.Copy(DownLoadPath, App.PPath, true); } catch (Exception ex) { if (ex is System.IO.IOException) { System.Diagnostics.Process[] Ps = System.Diagnostics.Process.GetProcessesByName(App.PPName); if (Ps.Length == 0) { throw ex; } else { bool isrun = false; foreach (System.Diagnostics.Process p in Ps) { if (p.MainModule.FileName == App.PPath) { isrun = true; break; } } if (isrun) { MessageBox.
------解决方案--------------------
文件正在用,你要先关闭当前的系统,才能覆盖.
网上有许多例子.
关键词"AutoUpdate"
------解决方案--------------------
更新思路:
前提条件,先启动更新程序,下载,完毕后,启动主程序;
1、客户端更新程序需要有记忆体,记载哪些文件更新,并和服务器上传时间一致;
服务端:a.xx 2010-09-08
b.xx 2010-09-08
a.xx 2010-09-07
客户端记忆体:
b.xx 2010-09-06
a.xx 2010-09-06
启动更新程序后,对照服务端,发现有a.xx 2010-09-08和2010-09-07需更新,那么就取08日的。
发现有b.xx 2010-09-07也需要更新。
2、只要更新完毕一个文件,记忆体就做记载,否则认为下载失败。