本类库+工具用于快速实现一个简单的自动更新程序,旨在快速简单地为现有的.Net应用程序添加上比较简单的自动更新功能。

本页包含以下内容
概述 [导航]

在发布应用程序时,我们经常会需要给自己的程序加上自动升级功能。.Net Framework自带的ClickOnce中有自动升级的功能,但是往往不太好用,比如必须用ClickOnce发布,安装的文件夹一个版本一个等等,我们会想要一个比较简单、甚至绿色软件也能使用的自动升级功能,这个自动升级程序就是基于这个目的而制作的。

 

为了让使用起来更加简单快捷,我对内置的功能进行了大幅度的精简和集成,最简单的情况下只需要你只需要一行代码即可实现自动更新,如下所示:

 

  1. FSLib.App.SimpleUpdater.Updater.CheckUpdateSimple("http://ls.com/update.xml");
下载 [导航]

内含工具+类库+说明文档(PDF)。

PDF您可能需要安装 Adobe PDF Reader 或 Foxit PDF Reader打开。

使用说明请第三节中的链接。

源代码已经开源,如您需要源码,请移步到  https://github.com/iccfish/FSLib.App.SimpleUpdater

本类库已托管到NUGET上。您可以使用Nuget包管理器搜索 “iFish” 后找到 “iFish's Simple Application Updater Library”(fishlee.net.simpleupdater) 并安装即可。包中不包含文档,您可以从此处下载完整内容后查找文档。

 

本地下载

已有 次下载

更新时间:2016-03-19 19:38:26
下载大小:2.46 MB
内含操作手册。
建议使用NUGET来引用客户端库,更方便也易于更新。NUGET包中不包含使用文档,如果您需要文档可从此处下载

有任何使用问题可以在 知识社区 或 论坛 中提问或反馈。
所有可供下载的版本提供了所有可供下载的版本

 

其它信息 [导航]

您可以访问相关页面获得更多信息:

 

  1. 使用方法
  2. 常见问题
  3. 帮助

 

如果您在使用中遇到了任何问题,或对功能有建议和意见,请点击导航栏右侧“讨论区”并选择合适的区发表您的意见。

如果很紧急,您也可以直接联系我。我的联系方式请参考 这里

更新日志 [导航]
4.3.0.0版本: 4.3.0.0,更新时间: 2016-03-19 07:36:00
  • 修复问题#2 命令行打开的项目可能无法保存
  • 修复问题#5 命令行模式无法继续更新
  • 修复问题#6 特定情况下如果需要回滚,则只有显式被删除的文件被还原
  • 修复问题#7 多服务器模式下,如果不传递AppDirectory以及AppVersion参数将会导致抛出异常
  • 修复问题#8 多服务器模式下,如果服务器地址无法连接,则无法继续切换服务器
  • 增强功能#9 在VS中调试时,如果启用了VS宿主进程,则版本号会识别错误
4.2.3.1版本: 4.2.3.1,更新时间: 2015-08-30 11:16:00
  • 增加升级成功对话框自动关闭选项(默认开启,打包时可在打包工具的选项2中设置)
  • 打包工具界面相关调整
  • 升级包文件安装逻辑细微调整
4.2.2版本: 4.2.2,更新时间: 2015-07-19 06:15:00
  • 修正在.NET2.0情况下使用DLL会有加载异常的BUG
  • 多服务器模式增加遍历模式:除发生错误外,没更新时也可以遍历所有服务器直到没有更新
  • 修正个别情况下多次检查更新时,重新下载的更新内容不会被使用的BUG
  • 更新操作跟踪日志内容更新,更全面,同时增加控制台日志模式
4.2.1版本: 4.2.1,更新时间: 2015-07-06 11:41:00
  • 提升使用匿名FTP作为服务器地址进行更新的兼容性
4.2.0版本: 4.2.0,更新时间: 2015-06-27 09:33:00
  • =======以下为客户端更新=======
  • 增加组件ID检测事件
  • 增加同步检测更新以及任务检测更新方式
  • 增加“不存在则跳过”的文件更新逻辑
  • 修正下载时进度显示的bug
  • 变更当前主程序模块以及信息监测方式
  • 变更行为,最低版本达不到要求也视作错误
  • 部分逻辑调整,提升特定情况下检测更新的速度
  • =======以下为打包工具更新=======
  • 加入组件ID支持
  • 变更文件列表编辑方式,新增组件ID编辑以及“不存在则跳过”逻辑
  • 新增打包选项,支持使用随机包名
  • 新增打包前清空目标目录的选项
4.0.1版本: 4.0.1,更新时间: 2015-05-10 12:28:00
  • 细节调整
4.0.0版本: 4.0.0,更新时间: 2015-05-07 11:18:00
  • 【客户端】增加自定义引用接口 IUpdateNotify 以及 UsingAssembly() 函数,可在正式更新后依然调用自己的处理事件
  • 【客户端】增加 UsingFormUI() 函数以及更新对话框基类,可以使用自己的更新界面完全替换内置界面
  • 【客户端】修改WebClient初始化流程,避免后续下载包时发出的请求没有UserAgent标头
  • 【客户端】修正丢失的资源文件,避免导致命令行版无法使用
  • 【客户端】变更config文件配置
  • 【客户端】安装文件各操作中也支持报告进度
3.3.0版本: 3.3.0.0,更新时间: 2015-04-28 04:03:00
  • 【客户端】修正在根目录下更新会导致出错的BUG
  • 【客户端】修正当更新信息设置为显示网页时有时可能会报ActiveX初始化异常的BUG
  • 【包工具】修正当输入最小版本号不正确时没做检查导致客户端出错的BUG
3.2.1.0版本: 3.2.1.0,更新时间: 2015-02-08 12:08:00
  • 变更打包工具生成的压缩包文件名编码格式,避免在语言版本不同的系统上出现乱码
3.1.5427.29174版本: 3.1.5427.29174,更新时间: 2014-11-10 04:17:00
  • 【客户端】修正使用命令行模式启动更新时,更新地址不正确的BUG
  • 【客户端】修正重试计数变量出错导致的无限制重试BUG
  • 【客户端】修正随机化地址逻辑判断遗漏导致的FTP模式无法更新的BUG
3.1.5406.34836版本: 3.1.5406.34836,更新时间: 2014-10-20 07:32:00
  • 【客户端】修正当使用Instance属性之后,再使用CheckUpdateSimple方法,传递的URL地址不会起效的BUG
  • 【客户端】修正EnsureUpdate方法没找到更新后,没有继续运行却退出的BUG
3.0.14290.0版本: 3.0.14290.0,更新时间: 2014-10-19 09:46:00
  • 【客户端】升级包支持“不提示直接自动启动升级”选项
  • 【客户端】升级包支持“自动结束进程”选项
  • 【客户端】升级包支持“自动结束同目录下进程”选项
  • 【客户端】升级包支持“强制更新否则退出软件选项”选项
  • 【客户端】升级包支持“启动更新后自动解除当前进程”选项
  • 【客户端】升级包支持“检测遇到错误时是否按照有更新处理”选项
  • 【客户端】自动升级不再强制要求管理员权限,改为自动检测,仅在需要时才请求管理员权限
  • 【客户端】升级文件安装逻辑,降低因文件安装速度过快导致出错的失败率
  • 【客户端】增加多服务器支持,允许使用多个服务器地址进行更新,失败后自动切换服务器
  • 【客户端】增加确保更新函数,支持在确保是最新版的情况下才继续运行
  • 【客户端】多国语言资源完善
  • 【客户端】其它细节调整和BUG修复
  • 【包工具】增加对新增选项的支持,修复已知BUG
2.3.9版本: 2.3.9,更新时间: 2014-07-18 01:35:00
  • 【包工具】 修正就算没有指定/build命令行的时候依然会自动构建的BUG
  • 【包工具】 修正因为转短路径后因为出现了“..”导致的异常
  • 【包工具】 短路径为空的时候(同级目录)显示为“.\”而不是空白。
  • 【包工具】 当打开项目的时候,如果已经绑定了信息文件,则自动重新读取
  • 【包工具】 增加默认更新模式选项,当没有为文件指定更新模式的时候,自动使用项目默认
2.3.8.23版本: 2.3.8.23,更新时间: 2014-07-12 11:16:00
  • 修正当没有设置命令行参数时有时会抛出异常的BUG
  • 改进逻辑,自动创建同步上下文。
2.3.8.22版本: 2.3.8.22,更新时间: 2014-07-06 11:09:00
  • 更新对于没有版本号的文件的处理逻辑
2.3.8.21版本: 2.3.8.21,更新时间: 2014-07-05 08:21:00
  • 升级客户端小版本更新
  • 升级包制作工具大版本更新
2.2.0.0版本: 2.2.0.0,更新时间: 2012-09-04 12:00:00
  • UI界面更新, 命令行界面和DLL引用模式使用同样的更新提示;
  • 更新提示支持使用网页或RTF作为更新提示;
  • 包制作工具更新, 多个功能改进, 增加项目支持;
  • 修正XP/2003上基于.net 4.0运行时, 短路径导致无法更新的错误;
  • 库函数精简优化
2.0.1.1版本: 2.0.1.1,更新时间: 2012-08-21 12:00:00
  • 修正错误打包的生成工具。
  • 升级包制作工具修改包命名算法,避免文件名总是变更,新版本中同路径文件的包名称是固定的。
2.0.1.0版本: 2.0.1.0,更新时间: 2012-08-17 12:00:00
  • 警告!*
  • 很抱歉,由于在2.0.0.1和2.0.0.1版本中我的失误导致的BUG,文件保留列表并未正确传递,
  • 将会导致增量更新时错误地删除不需要更新的文件,导致软件被破坏。
  • 因此,为了避免此错误发生,请在制作升级包时*切记*不要将『更新选项』中的删除原始文件
  • 选项设置为『清空源程序目录』(但可以使用其它两个选项)!否则将会导致更新时不需要更新
  • 的文件被错误删除!
  • 在2.0.1.0中此BUG已经修复!
  • 非常抱歉!
  • ver 2.0.1.0
  • ---------------------
  • 修正更新时文件可能会被误删的错误 【警告!】
2.0.0.1 发布版本: 2.0.0.1,更新时间: 2012-08-08 12:00:00
  • 整体流程全部重新设计,全新的自动更新界面
  • 支持增量更新;支持多线程下载升级包(增量更新需要更新多个文件时,非单个包多线程下载)
  • 升级包增加本地路径和共享路径支持
  • 升级包路径支持占位符自定义
  • 增加自定义代理服务器
  • 升级信息文件支持压缩减小大小
  • 外部进程调用时支持环境变量访问当前所有的更新信息
  • 编译为DLL引用,避免多个图标的主程序引起用户的好奇;同时也提供原可执行文件的方案
  • 移除 AppInfoProvider 的支持
  • 增加更新操作的日志文件记录功能
  • 修改一些界面上的显示内容
  • 修正安装包制作工具的BUG
更新记录版本: 1.5.4.2,更新时间: 2011-07-12 12:00:00
  • 重写了扩展方法,去除了对 .Net 3.5 的依赖,客户端安装 .Net 2.0 即可(注意,包制作工具仍然需要.Net3.5支持)
  • 微调界面,加入了预计下载大小的提示
  • 修正运行外部进程时设置时间为0时会迅速显示超时的BUG
  • 初步优化了内建的 SharpZipLib 库,略微减少了大小
  • 完善对 AppInfoProvider 的支持,可以通过自定义自己的 AppInfoProvider 提供更多的选项支持
  • 修正更新时清理文件夹的功能BUG
  • 修正个别情况下进程提前退出导致的更新失败
  • 修正内建个别窗口上的功能
更新记录版本: 1.5.2.0,更新时间: 2011-05-09 12:00:00
  • 增加了重载当前软件版本和应用程序目录的支持
更新记录版本: 1.5.1.0,更新时间: 2011-04-20 12:00:00
  • 增加包文件大小属性
  • 增加升级需要的最低版本
  • 修正了更新选项中关于文件删除的选项逻辑
  • 增加了"结束进程时自动终止同目录进程"的选项
  • 升级压缩包支持加密
  • 升级库整体重构,流程重新设计
  • 增加了工具库的自动更新功能
  • 重新设计了升级包制作工具,修正了文件选择,增加文件拖放功能
  • 增加了升级需要的最低版本不满足的提示
  • 升级流程优化,在没有升级的情况下不创建临时文件夹
  • 修正了每次运行只能检查一次更新,这之后检查更新无反应的BUG [1.5.1.0]
1.3.0.0 发布版本: 1.3.0.0,更新时间: 2011-02-14 12:00:00
  • 第一次发布。