软件自动更新
最好的方式即分开成两个EXE 一个主程序 一个更新程序
1.打开主程序时 先判断是否存在新版本
2.不存在就不操作 存在就打开更新程序
if (CompareVid()) { DialogResult dlr = MessageBox.Show("存在新版本!是否更新", "更新", MessageBoxButtons.YesNo); if (dlr == DialogResult.Yes) { StartEXE(); } } else { MessageBox.Show("当前版本已是最新版本!"); }
private void StartEXE() { try { Process p = new Process(); p.StartInfo.FileName = System.IO.Path.Combine(Application.StartupPath, users.Updataexename); p.StartInfo.Arguments = users.Updataexename; p.StartInfo.UseShellExecute = true; p.Start(); p.WaitForInputIdle(1000); } catch { } }
3.关闭主程序、在用更新程序访问服务器 获取最新的版本下载 替换文件
4.更新完成后,关闭更新程序 打开主程序
可能遇到需求 更新程序也不满意 需要更改
解决方案
在主程序中判断 是否存在最新的更新程序 存在这下载 替换旧的更新程序
然后在打开更新程序更新 如上操作