CheckUpdate.Net

GPL
C#
Windows
2014-10-29
jsxzemail

CheckUpdate.Net是.Net C/S下一个检查更新程序。现有的检查更新方式多种多样,更新程序也大不相同。园子里也有个比较出名的OSAU(参考了他的界面),微软也有比较方便的ClickOnce。自己也尝试了其他的,发现没有合适的就决定自己写一个。 考虑到复用,在.Net Framework2.0下开发。主要就是利用WebClient下载服务器网站目录下的文件,安全性暂没有考虑,比较适用于小型项目。 源代码托管:http://git.oschina.net/xcong/CheckUpdate.Net

1.主要功能

  • 支持单个或多个文件更新 读取服务端XML配置文件,获取需要修改或新增的文件,然后进行下载,下载完成之后,更新本地版本。

  • 支持更新更新程序本身 通过配置本地的XML文件,放置更新程序的目录。主程序启动时,进行检查,处理。

  • 服务端支持程序更改配置文件,无需手动更改XML

2.使用方式

  • 将主程序运行需要的文件通过XML配置起来

    将Update.xml、UpdateFileClient.exe、UpdateFileCommon.dll添加到主程序相同目录,主程序需要引用UpdateFileCommon.dll。 将主程序运行所需的文件通过XML进行配置,放在File节点下,初始版本为1。 配置服务端XML所在路径,当前版本、版本对应的值、临时文件夹、更新程序名称可以采用默认值。

  • 实现更新程序的更新

    需要在主程序中添加一行代码,进行检查临时文件夹是否包含更新程序,如果有,进行剪切操作。

    using UpdateFileCommon;
    //发现新的更新程序,进行剪切到根目录
    VersionHelper.CutNewUpdateEXE();
  • 按需添加检查更新代码

    可以在程序启动时或者点击按钮进行检查更新操作。 检查更新是弹窗进行提醒,需要传两个参数,一个更新描述,一个是否强制更新。对应XML节点是服务端XML的ReleaseNote和IsMustUpdate。NextShowEvent 事件是点击按钮下次提醒需要执行的操作。

//检查版本更新
if (VersionHelper.IsRequiredUpdate())
{
    string xmlPath = System.AppDomain.CurrentDomain.BaseDirectory + "UpdateFile.xml";
    if (File.Exists(xmlPath))
    {
        //加载XML路径
        XmlDocument doc = new XmlDocument();
        doc.Load(VersionHelper.GetLoaclServerConfigURL(xmlPath));
        //获取值
        var releaseNote = VersionHelper.GetServiceReleaseNote(doc);
        var isMustUpdate = VersionHelper.GetServiceIsMustUpdate(doc);
        PromptingForm form = new PromptingForm(releaseNote, isMustUpdate);
        //赋值委托
        form.NextShowEvent += delegate
        {
           //执行xxx
        };
        form.ShowDialog();
    }
}
  • 需要更新时,通过服务端程序设置更新

源码介绍

UpdateFileCommon.dll是主程序必须引用的。里面包含更新提示窗口。包含版本辅助类等信息。

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

AIR app自动更新的实现方式

很久之前看到很多人都在纠结自动的哪个更新啊 然后我工作很忙一直没有时间去研究这个 今天一个项目需要自动更新 然后就随手也一个 air app的自动更新 是通过Updater类实现的 他有一个静态属性...

2016/03/09 12:22
6
1
Linux比较时间&循环处理文件

log格式: 2018-01-11 18:08:08,993 [http-bio-8080-exec-30] INFO [cn.letv.mstore.api.util.Log] - CheckUpdateController|checkupdate|106.114.85.182||862044035460430|602001|20|20|||...

2018/01/11 18:13
15
0
实现Android应用自动更新

应用程序总是不可能一次写好就终生不变的,相反,一般来说,应用程序都是会有一个更新换代的过程。为了让我们的程序使用者能及及时获知程序的更新,就需要我们提供应用自动更新功能。该博客主...

2016/03/02 09:58
475
1
LUA --热更新

--什么是热更新? 游戏客户端启动时,主动请求服务端检查版本号,并更新资源到本地. 应用场景: 情况一:游戏客户端已经发布了,但突然发现有个比较严重的bug需要修复。这时需要更新游戏的代...

2015/04/08 18:53
2.9K
0
基于Groovy实现Spring Bean的动态加载

Spring对Groovy有着良好的支持,能把Groovy实现类作为Bean来使用,在前一篇Blog《Spring对Groovy Bean的支持》有详细的描述http://my.oschina.net/joshuazhan/blog/137940。基于Groovy Bean...

2013/07/15 23:47
9.3K
1
审计工具lynis介绍

1.介绍 lynis 是一款开源的unix-based平台的审计工具。可以帮助审计员扫描unix系统以及可用的软件。程序主要探测,系统上安装的程序包,配置上的错误,以及安全问题和系统信息。 官方地址htt...

2013/10/28 10:50
4.2K
0
测试要走高冷路线,如何完美测试产品?

Android 开发者要测试应用发个APK安装包即可,但是对于iOS来说想要参与App的测试一直都很复杂。不过自从发现一个测试平台,帮助开发者一键上传应用生成短链接或是二维码分发给用户协助对App...

2015/03/26 17:02
17
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部