SNFAutoupdater通用自动升级组件V2.0
1、组件介绍
C/S构的特点是能充分发挥客户端的处理能力,很多工作可以由客户端处理后再提交给服务器,对应的优点就是客户端响应速度快模式客户端以其强大的功能,丰富的表现力受到相当大部分用户的青睐,但是客户端布署,维护升级的成本却是非常的高的。
C/S客户端需要安装专用的客户端软件及运行环境。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
SNFAutoupdater组件就是为了解决C/S在维护升级方面的问题而存在的,本组件可以快速建立升级部署应用,完全控制整个升级部署过程,全功能的、快速、易于使用,设立发布你的客户端应用。
本组件以最简单的模式提供给客户端在线布署和自动升级功能,彻底解决升级部署方面的后顾之忧。组件中提供的的接口以最简单的方式来对升级过程提供完全控制。SNFAutoupdater组件为你的软件集成稳定/高效的自动升级功能,是本升级组件的宗旨。
SNFAutoupdater组件四步完成升级工作:检查新版本、下载到临时目录、检查本地文件、拷贝或覆盖到工作目录。
无需特被的服务器,传统的Web服务即可,如IIS等。服务器部署最新版的软件文件(文件列表保存在一个XML文件中),SNFAutoupdater组件对比分析服务器和客户端的XML对比配置文件,不同就更新。
SNFAutoupdater组件采用C#语言编写,可应用于目前大多流行语言开发的软件之中,不依赖任何类库,稳定,高效。
2、组件升级原理及过程
3、服务端部署。
- <?xml version="1.0" encoding="gb2312"?>
- <AutoUpdater>
- <description>Application autoUpdate</description>
- <Updater>
- <Url>http://10.0.0.1/SNFSoftUpdate/</Url>
- <LastUpdateTime>--</LastUpdateTime>
- </Updater>
- <Application applicationId="SNF">
- <EntryPoint>SNF.exe</EntryPoint>
- <Location>.</Location>
- <Version>1.0.0.0</Version>
- </Application>
- <Files>
- <File Ver="1.0.0.0" Name="SNF.exe" />
- <File Ver="1.0.0.0" Name="Reports\test.txt"/>
- <File Ver="1.0.0.0" Name="Interop.grproLib.dll"/>
- <File Ver="1.0.0.0" Name="Reports\test.grf"/>
- </Files>
- </AutoUpdater>
可以看到,其中配置了更新地址,更新日期,主程序,需要更新的文件列表 。
如果上面文件不愿意自己写,用下面工具可以进行生成:
4、客户端部署。
完成之后会自动打开主程序。
注意:是主程序的 Load事件要加上调整自动更新程序的代码。要以模式打开窗口。如果没有差异会自动关闭升级窗口显示主窗口。
- 作者: 王春天 2015-10-21
作者Blog:http://www.cnblogs.com/spring_wang- 出处: http://www.cnblogs.com/spring_wang/p/4874584.html
如果觉得还不错,欢迎转载。
SNF快速开发平台框架的系列文章:
Winform开发框架之通用高级查询模块--SNF快速开发平台3.3-Spring.Net.Framework
Winform开发框架之图表报表在线设计器2-图表-SNF.EasyQuery项目--SNF快速开发平台3.3-Spring.Net.Framework
Winform开发框架之图表报表在线设计器-报表-SNF.EasyQuery项目--SNF快速开发平台3.3-Spring.Net.Framework(
Winform开发框架之通用附件管理模块 --SNF快速开发平台3.3-Spring.Net.Framework
SNFAutoupdater通用自动升级组件V2.0-WinForm
SNF快速开发平台3.2之--.Net可扩展的单据编号生成器-SNF.CodeRule
SNF快速开发平台3.1之--审核流(3)低调奢华,简单不凡,实例演示-SNF.WorkFlow
SNF快速开发平台3.1之--审核流(2)流程设计-SNF.WorkFlow功能使用说明
SNF快速开发平台3.1之--审核流(1)SNF.WorkFlow审核流简介
SNF快速开发平台3.0之--完美的代码生成器SNF.CodeGenerator-快速开发者的利器
基于MVC4+EasyUI的Web开发框架--Spring.Net.FrameworkV3.0总体介绍
SNF快速开发平台3.0之--文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)
SNF快速开发平台3.0之--asp.net mvc4 强大的导出和不需要上传文件的批量导入EXCEL
SNF快速开发平台3.0之MVC通用控件库展示-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
SNF快速开发平台3.0之BS页面展示和九大优点-部分页面显示效果-Asp.net+MVC4.0+WebAPI+EasyUI +Knockout
SNF快速开发平台3.0之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
SNF快速开发平台3.0之-CS页面-Asp.net+Spring.Net.Framework
SNF快速开发平台3.0之--系统里广播的作用--迅速及时、简明扼要的把信息发送给接收者
SNFAutoupdater通用自动升级组件V2.0的更多相关文章
- SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework
9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Lo ...
- WinForm通用自动更新器AutoUpdater项目实战
一.项目背景介绍 最近单位开发一个项目,其中需要用到自动升级功能.因为自动升级是一个比较常用的功能,可能会在很多程序中用到,于是,我就想写一个自动升级的组件,在应用程序中,只需要引用这个自动升级组件, ...
- 联盟链FISCO BCOS v2.0.0-rc3 发布
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- 运维工程师打怪升级进阶之路 V2.0
在此之前,发布过两个版本: 运维工程师打怪升级之路 V1.0 版本发布 运维工程师打怪升级必经之路 V1.0.1 很多读者伙伴们反应总结的很系统.很全面,无论是0基础初学者,还是有基础的入门者,或者是 ...
- 超级MINI STLINK V2 官方固件自动升级 ST-Link 【worldsing 笔记】
简介: 支持所有带SWIM接口的STM8系列单片机 支持所有带SWD接口的STM32系列单片机 完全兼容Keil,STVP,STVD,IAR,COSMIC,STM32 ST-LINK Utility! ...
- 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1. 前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...
- co-dialog弹出框组件-版本v2.0.0
co-dialog theme 访问git:co-dialog 版本v2.0.0 主题2 coog.app('.theme2').use({ title: 'JUST CHECKING.', mess ...
- 25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
转自:https://blog.csdn.net/wangyj1992/article/details/78387728 因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我 ...
- 魔方NewLife.Cube升级v2.0
魔方是一套集成权限管理的MVC管理后台,最具特色功能是模版覆盖机制,是XCode实体类的最佳搭档! v2.0.2017.1126 借助Ajax支持高级操作,如:删除选中.批量启用禁用等 用户管理增 ...
随机推荐
- 诡异的楼梯 HDU1180
这题做了很久 做好了感觉很简单... 现在做题思路更加清晰了 一个要点就是 当楼梯过不去的时候不能是先过去时间加2 必须得回去等一秒 否则queue的时间顺序会被打破 #include< ...
- drupal8
创建drupal的博客教程地址 区域:主题中必须定义 content 区域:因为内容(文章列表)就在content区域 定义成区块的时候可以将试图的区块放在内容区域里面: 视图通过区块和页面来显示在页 ...
- java中如何不自己写排序方法完成排序
1.如果要排序的东西是放在一个数组里面的 1.1如果要排序的东西是基本数据类型,如int int[] c=new int[]{4,5,1,2,3,6,9}; Arrays.sort(c); Array ...
- UVa140 Bandwidth 【最优性剪枝】
题目链接:https://vjudge.net/contest/210334#problem/F 转载于:https://www.cnblogs.com/luruiyuan/p/5847706.ht ...
- LVN与其在Linux上的实现
参考资料: LVM详解-骏马金龙-博客园 How to reduce the size of an LVM partition formatted with xfs filesystem on Cen ...
- 潭州课堂25班:Ph201805201 第四课:Linux的命令以及VIM的使用 (课堂笔记)
Linux的常用命令 引入 1:如果我们要在Linux里面实现一些比如查看文件和文件夹.新建文件夹之类的操作,应该是通过什么来实现 2:讲解Linux目录树 3:讲解Linux只区分文件名,Linux ...
- 潭州课堂25班:Ph201805201 第三课:序列类型的方法 (课堂笔记)
列表的方法: li = [] 添加: li.append( 'a' ) 追加元素进入列表 li.insert( 1, 'b' ) 插入元素到指定索引位置 ----->>> li.i ...
- 2016年3月11日Android实习日记
1.明天删除orthodotics_design_animation_content_gif.gif文件.(已完成) 2. 如何检测内存泄露? A: 可以通过一些性能监测分析工具,如 JProfile ...
- java的关键字与保留字
1,Java 关键字列表 (依字母排序 共50组): abstract, assert, boolean, break, byte, case, catch, char, class, const(保 ...
- 迭代函数:zip、enumerate,list解析
#encoding:utf-8 """ 并行迭代: zip enumerate 获取元素及下标 list解析 iter """ #zip # ...