资源简介
一款C#开发的通用的自动更新程序,包含源码。按步骤包含:检查更新,关闭打开的程序,备份程序,按文件清单更新文件,成功后更新程序版本号和更新时间,失败后还原程序,最后删除备份程序。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
using System.Net;
using System.Threading;
namespace AutoUp
{
public class AutoUpdate
{
UpdateConfigModel _model = new UpdateConfigModel();
string _appbaseDir = ““;//本地应用程序根目录
string _remoteDir = ““;//服务器更新文件根目录
string _backDir = ““;//本地文件备份路径
//公共方法
private bool Work(Func func string workName string faildMessage)
{
bool flag = false;
try
{
if (!string.IsNullOrEmpty(workName))
Console.WriteLine($“正在执行 --> {workName}“);
flag = func();
if (!flag)
{
if (!string.IsNullOrEmpty(faildMessage))
Console.WriteLine(faildMessage);
return false;
}
if (!string.IsNullOrEmpty(workName))
Console.WriteLine($“结束执行 --> {workName}“);
Console.WriteLine(“...“);
return flag;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
}
public void Start()
{
//更新
Update();
//重启
ReStart();
}
//更新
public void Update()
{
Console.WriteLine(“***************开始更新****************“);
//1. 检查更新,获取UpdateConfig.xml从而获得需要新增,更新,删除的工作清单
if (!Work(CheckUpdate “检查更新“ “不需要更新“)) return;
//2. 检查更新文件数量
if (!Work(HasUpdateFiles ““ “没有可更新的文件“)) return;
//3. 如果程序已经打开,进程kill掉。
if (!Work(IsAppClose “检查应用程序启动状态“ “未关闭应用程序,更新停止“)) return;
//4. 备份本地程序
if (!Work(BackUp “备份程序“ “未能备份应用程序,更新停止“)) return;
//5. 开始更新,从任务清单获取任务列表依次下载文件,然后执行相关操作(增删改)
if (Work(DoUpdate “更新文件“ ““))
{
//6.1 为true时,更新本地版本号和更新时间
string localConfig = $@“{ConfigurationManager.AppSettings[“LocalConfig“]}“;
xmlHelper.Update(localConfig $“/AutoUpdater/UpdateInfo/Version“ “Num“ _model.Version);
xmlHelper.Update(localConfig $“/AutoUpdater/UpdateInfo/UpdateTime“ “Date“ _model.UpdateTime);
}
else
{
//6.2 为false时,还原本地程序
if (!Work(ReBack “系统还原“ “系统还原失败“)) return;
}
//7. 删除备份程序
Work(DeleteBackFiles “删除备份文件“ “备份文件删除失败“);
Console.WriteLine(“***************更新完毕!****************“);
}
//重新启动
public void ReStart()
{
if (_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-03 12:00 自动更新\
目录 0 2018-08-03 12:00 自动更新\AutoUp\
文件 505 2018-08-03 11:50 自动更新\AutoUp\App.config
文件 2478 2018-08-02 19:15 自动更新\AutoUp\AutoUp.csproj
文件 15131 2018-08-03 12:00 自动更新\AutoUp\AutoUpdate.cs
文件 467 2018-08-03 10:40 自动更新\AutoUp\Program.cs
目录 0 2018-08-03 12:00 自动更新\AutoUp\Properties\
文件 1310 2018-08-02 14:04 自动更新\AutoUp\Properties\AssemblyInfo.cs
文件 3547 2018-08-02 22:50 自动更新\AutoUp\UpdateConfigModel.cs
文件 22718 2018-08-02 16:08 自动更新\AutoUp\xm
目录 0 2018-08-03 12:00 自动更新\AutoUp\bin\
目录 0 2018-08-03 12:00 自动更新\AutoUp\bin\Debug\
文件 19456 2018-08-03 12:00 自动更新\AutoUp\bin\Debug\AutoUp.exe
文件 505 2018-08-03 11:50 自动更新\AutoUp\bin\Debug\AutoUp.exe.config
文件 46592 2018-08-03 12:00 自动更新\AutoUp\bin\Debug\AutoUp.pdb
目录 0 2018-08-03 12:20 自动更新\AutoUp\bin\Debug\Download\
目录 0 2018-08-03 12:20 自动更新\AutoUp\bin\Release\
目录 0 2018-08-03 12:00 自动更新\AutoUp\obj\
目录 0 2018-08-03 12:00 自动更新\AutoUp\obj\Debug\
文件 334 2018-08-03 12:00 自动更新\AutoUp\obj\Debug\AutoUp.csproj.FileListAbsolute.txt
文件 2064 2018-08-03 12:00 自动更新\AutoUp\obj\Debug\AutoUp.csprojResolveAssemblyReference.cache
文件 19456 2018-08-03 12:00 自动更新\AutoUp\obj\Debug\AutoUp.exe
文件 46592 2018-08-03 12:00 自动更新\AutoUp\obj\Debug\AutoUp.pdb
文件 42 2018-08-02 19:06 自动更新\AutoUp\obj\Debug\CoreCompileInputs.cache
文件 6690 2018-08-02 19:06 自动更新\AutoUp\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
目录 0 2018-08-03 12:20 自动更新\AutoUp\obj\Debug\TempPE\
文件 185 2018-08-02 18:38 自动更新\localconfig.xm
文件 746 2018-08-03 10:20 自动更新\updateconfig.xm
文件 905 2018-08-03 12:19 自动更新\使用说明.txt
- 上一篇:ASP.NET 新闻发布系统有后台管理功能
- 下一篇:C#多进制计算器源代码
相关资源
- zw_ASP.NET通用权限管理系统源代码含文
- Winform通用经典快速开发CS框架-outloo
- C#公共类通用类非常齐全
- winform自动更新程序
- asp.net通用OA协同办公系统源码
- WPF 自动更新
- C# 开发的通用升级更新程序
- ASP.NET网站通用后台管理系统
- c#开发winform程序自动更新
- c#+BaslerSDKUSB3.0和以太网口通用
- asp.net_mvc_框架EasyUI快速开发框架通用
- 大型会员管理系统源码 通用会员管理
- ASP.net通用权限框架
- ASP.NET WebForm通用权限系统框架源码 二
- ASP.NET MVC4+EF6+Bootstrap3 通用后台管理系
- Visual C#通用范例开发金典源代码1-10章
- Dev WinForm通用控件导出Excel方法(支持
- ASP.NET通用权限管理框架
- 吉日嘎拉 C#.NET 通用权限管理系统组件
- 基于C# MVC开发的WEB API通用框架 附带
- 基于C# MVC开发的WEB API通用框架 附带
- ASP.NET的企业通用权限管理系统 源代码
- ASP.Net 后台通用权限系统 源代码
- 基于C# MVC开发的WEB API通用框架 附带
- 基于C# MVC开发的WEB API通用框架 附带
- ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架
- 通用ASP.NET Core NPOI导出复杂Word、Exce
- C# 微信公众号,通用后台管理、
- 基于C# MVC开发的WEB API通用框架 附带
- C#.NET通用开发框架源码2017
评论
共有 条评论