支持任何版本到任何版本的程序升级,不受编程语言约束.但是必须在windows下运行.(支持.net 2.0相信xp,vista,win7都支持的了)
原理很简单:
1.升级服务器上有一份 完整的 最新的安装文件,以及一个根据文件版本号遍历的update.xml.
2.升级的时候远程的update.xml和本地最后更新的update.xml进行比较,列出需要更新的清单和需要删除的文件清单.
3.下载清单的列表,并覆盖本地安装目录需要更新的文件.
使用说明:
第一步:生成2份update.xml配置文件.一份本地,一份远程.
(当然初始发布的时候,升级服务器上的文件和update.xml文件和安装包里面的文件是完全一样的.说明都是最新的,不用升级)
方法:首先使用configupdatexml工具 生成一个update.xml,并放在安装包内.
第二步:打包update.xml和updater.exe程序到安装包里面.
第三步:把使用过后的configupdatexml.exe工具删除.(这个不需要,只是需要发布新版本的时候用来配置xml.)
调用方式:
1.自动检测.
第一种:自动检测升级.如果有升级可用,提示让用户选择.可以在form_load里添加
System.Diagnostics.Process.Start(System.AppDomain.CurrentDomain.BaseDirectory + @"\Updater.exe");
2.手动检测.
手动升级调用:(只要带任意参数就行)
string args = "名称.";
System.Diagnostics.Process pro = new System.Diagnostics.Process();
pro.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory + @"\Updater.exe ";
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.Arguments = args;
pro.Start();
pro.Close();