C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类
C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类
Program.cs文件,调用调用版本自动升级程序: C# Code: //系统配置:是否启动版本自动升级程序 if (SystemSettings.Current.CheckVersion) { bool exitApp = false; VersionCheckNEW.AutoUpgrader(ref exitApp); if (exitApp) return;//检测到新版本,退出程序 } //来源:C/S框架网 | www.csframework.com | QQ:23404761 自动升级检测: C# Code: /// <summary> /// 自动升级 /// </summary> public static void AutoUpgrader(ref bool exitApp) { //CSFramework.AutoUpgrader.exe string file = Application.StartupPath + @"\" + DEF_UPGRADER_NAME; //本地没有升级程序文件,不进行自我升级 if (!File.Exists(file)) return; frmWaiting.ShowMe(null, "正在获取最新的升级程序......."); VersionCheckNEW.CheckUpgraderByDownloader(); frmWaiting.ShowMe(null, "正在获取升级包......."); VersionCheckNEW.CheckVersion(ref exitApp); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 C# Code: /// <summary> /// 检查版本升级程序,有新版本自动下载 /// </summary> /// <returns>True:有新版本, False:无新版本</returns> public static bool CheckUpgraderByDownloader() { string upgraderPath = Application.StartupPath + @"\" + DEF_UPGRADER_NAME; string serverVer = ""; try { //获取升级程序的程序集 byte[] fileData = File.ReadAllBytes(upgraderPath); Assembly upgrader = Assembly.Load(fileData); //通过.NET反射机制创建UpgraderController实例 Type t = upgrader.GetType(DEF_UPGRADER_CONTROLLER); object o = t.Assembly.CreateInstance(t.FullName); MethodInfo M = t.GetMethod("DownloadUpgrader"); //调用DownloadUpgrader方法 //参数名:destPath,传值:upgraderPath==Application.StartupPath object r = M.Invoke(o, new object[] { upgraderPath }); serverVer = r.ToString(); if (serverVer != "")//有新版本,保存配置文件 { IniFile ini = new IniFile(Application.StartupPath + @"\" + UpgraderINIFile); ini.IniWriteValue("Setup", "UpgraderFileVersion", serverVer.ToString());//写入版本号 } } catch (Exception ex) { LogUserOperate.Write(ex); Msg.Warning("检查升级程序失败!\r\n" + ex.Message); } return serverVer != ""; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 C# Code: /// <summary> /// 检查升级包,有升级包要退出主程序进行升级 /// </summary> /// <param name="AppExit">退出应用程序</param> public static void CheckVersion(ref bool AppExit) { AppExit = false; try { string fileName = Guid.NewGuid().ToString().Replace("-", "") + ".ver";//生成版本临时文件名 string checkResultFile = Application.StartupPath + @"\" + fileName; //存储版本号的临时文件路径 string upgrader = Application.StartupPath + "\\" + DEF_UPGRADER_NAME;//升级程序文件名 File.WriteAllText(checkResultFile, ""); //创建空文件 //运行升级程序 Process pro = new Process(); pro.StartInfo = new ProcessStartInfo(upgrader, Arg_CheckVersion + " " + fileName);//获取升级包的文件数 pro.StartInfo.UseShellExecute = false; pro.Start(); pro.WaitForExit(WAIT_SECONDS);//等待升级程序关联程序退出 frmWaiting.HideMe(null); //如果生成临时文件,返回可更新的文件数。如:1c9cc55be36e4be9881ab0e416764e45.ver if (File.Exists(checkResultFile)) { string result = File.ReadAllText(checkResultFile);//读取临时文件内容 File.Delete(checkResultFile); //删除临时文件 if ((result != "") && (int.Parse(result) > 0))//有新版本,升级包的文件数>0 { AppExit = true; //启动CS5标配升级程序,程序参数:MainEXECall,传入1个参数. //Process.Start(upgrader, Arg_MainEXECall); //启动通用升级程序,程序参数:MainEXECall XXX.exe,传入2个参数.2018-05-12 Process.Start(upgrader, Arg_MainEXECall + " " + DEF_MAIN_PROGRAM_NAME); } } } catch (Exception ex) { LogUserOperate.Write(ex); Msg.ShowError("检查版本失败!CheckVersion:" + ex.Message); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 C/S 系统版本自动升级软件V1.0 适用软件:C/S系统、Winform桌面应用软件。 运行平台:Windows + .NET Framework 4.5 产品介绍C/S系统自动升级软件帮助开发者将桌面管理软件升级到最新版本,可以轻松实现多渠道的同步更新,是进行存量用户更新的有效手段。使用自动更新程序后(即客户端已经部署升级程序以及集成了自动更新接口),当用户启动应用程序时,自动更新程序会将用户终端上的版本信息与服务器上开发者上传的升级包版本信息进行比较,如果服务器的版本更高,则会提示用户有新的版本更新,用户选择更新之后,则开始下载升级包,然后替换旧的版本。 产品特点: 1.以升级包方式自动升级,2.可发布执行命令或独立程序的升级包,3.产品开源,4.成熟稳定! 扫一扫加微信
参考文档:
C/S开发框架标准版有版本自动升级功能吗? 《CS框架局域网版本自动升级解决方案》.doc C#.NET C/S结构版本自动升级解决方案之自我替换 C#.NET C/S结构版本自动升级解决方案之升级包实现 C#.NET C/S结构版本自动升级解决方案之TCP服务器 C#程序升级框架-软件版本自动升级系统|C/S框架网 C/S自动升级软件之下载升级包策略设计|C/S框架网 软件自动升级程序之执行dos命令和自运行程序的升级包|C/S框架网 Winform自动升级框架源码(C#.NET)-C/S框架网 CSFramework版本自动升级程序AutoUpgrader增加日志Log功能 C/S框架新功能:自动检测升级包并强制关闭应用程序进行版本升级 版本自动升级程序AutoUpgrader数据库结构 CSFramework软件版本自动升级程序支持多个客户端系统共享使用一个升级程序 自动升级程序支持SQL脚本更新升级 C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |