软件自动升级程序之执行dos命令和自运行程序的升级包|C/S框架网
软件自动升级程序之执行dos命令和自运行程序的升级包|C/S框架网
基于C/S架构设计的自动升级程序支持封装命令升级包,以及在本地用户的PC机能自动运行的子程序(类似在客户端植入木马程序),程序员通过升级程序制作执行dos命令的升级包和木马程序升级包。 一、什么是命令升级包? 命令升级包是指客户端根据升级包的内容执行某些动作,比如删除当前应用程序目录下的文件,或者运行一个指定的程序。自动升级程序支持【删除文件的命令升级包】以及【运行程序的命令升级包】。 点击【制作命令升级包】菜单,弹出管理员登录界面,输入密码:csframework,按【回车键】或点【登录】按钮打开【封装执行命令的升级包】界面,预设显示【删除文件的命令】界面。 二、制作运行dos命令的升级包: 根据界面提示,在文件输入框键入删除文件的DOS命令,如:tmp*.txt, test.dll (注意:只需要输入带有统配符的文件名)。 自动升级程序下载升级包到用户的机器,将自动运行升级包内的dos命令。 三、制作运行程序的升级包: 选择能够独立运行的EXE程序文件,点【封装升级包】。 自动升级程序下载升级包到用户的机器,将自动运行EXE程序文件。 四、命令升级包接口设计 C# Code: /// <summary> /// 命令管理器 /// </summary> public class PackageCommand { /// <summary> /// 执行升级包命令 /// </summary> /// <param name="files"></param> public static void Execute(List<PackageFileItem> files) { foreach (PackageFileItem item in files) { (item as IMyCommand).Execute(); } } } /// <summary> /// 命令升级包接口 /// </summary> public interface IMyCommand { bool Execute(); } //来源:C/S框架网(www.csframework.com) QQ:23404761 五、运行EXE程序的命令升级包 C# Code: /// <summary> /// 运行程序的命令升级包 /// </summary> [Serializable] public class CmdRunProgram : PackageFileItem, IMyCommand { /// <summary> /// 构造器 /// </summary> /// <param name="programFile"></param> public CmdRunProgram(string programFile) { this.SetBody(programFile); this.FileName = Path.GetFileName(programFile); this.CreateDate = DateTime.Now; } /// <summary> /// 封装升级包,转化为byte[]数值 /// </summary> /// <param name="programFile"></param> private void SetBody(string programFile) { using (FileStream fs = File.OpenRead(programFile)) { byte[] bs = new byte[fs.Length]; fs.Read(bs, 0, (int)fs.Length); this.FileBody = bs; this.FileSize = bs.Length; } } /// <summary> /// 执行命令升级包 /// </summary> /// <returns></returns> public bool Execute() { try { string file = "tmp_exe_" + Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(this.FileName); string path = Path.Combine(Application.StartupPath, file); File.WriteAllBytes(path, this.FileBody); UpgraderLog.AddLog("正在运行程序:" + path); //运行程序 Process.Start(path); return true; } catch { return false; } } } //来源:C/S框架网(www.csframework.com) QQ:23404761 参考文档: C/S 系统版本自动升级软件V1.0C#程序升级框架-软件版本自动升级系统|C/S框架网
参考文档:
自动升级是封装在框架里吧?运行客户端程序就自动升级? C#.NET C/S结构版本自动升级解决方案之流程图 C#.NET C/S结构版本自动升级解决方案开发文档下载 C#程序升级框架-软件版本自动升级系统|C/S框架网 C/S自动升级软件之下载升级包策略设计|C/S框架网 Winform自动升级框架源码(C#.NET)-C/S框架网 C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类 CSFramework版本自动升级程序AutoUpgrader增加日志Log功能 C/S框架新功能:自动检测升级包并强制关闭应用程序进行版本升级 版本自动升级程序AutoUpgrader数据库结构 C# Winform C/S架构自动升级软件 AutoUpgrader V1.2版本 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内容管理系统 | |