zoukankan      html  css  js  c++  java
  • WinForm通用自动更新器AutoUpdater项目实战

    一、项目背景介绍

    最近单位开发一个项目,其中需要用到自动升级功能。因为自动升级是一个比较常用的功能,可能会在很多程序中用到,于是,我就想写一个自动升级的组件,在应用程序中,只需要引用这个自动升级组件,并添加少量代码,即可实现自动升级功能。因为我们的程序中可能包含多个类型的文件,比如exe、dll、 config、xml、bat等等自定义格式的后缀名文件,所以要支持多文件类型的更新。

    本期同样带给大家分享的是阿笨在实际工作中遇到真实项目场景,请跟随阿笨的视角去如何开发实现WinForm通用自动更新器AutoUpdater,如果您对本期的教程内容感兴趣,那么请允许让阿笨带着大家一起学习吧!

    废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。


    你学会了从1数到10吗?

    三、项目实现原理图

    3.1、WinForm通用自动更新器AutoUpdater原理图

    实现思路:在远程IIS自动升级服务器上放一个XML文件,里面记录了软件版本号,发布日期,要更新的DLL等一些信息,如果发现本地软件的版本号和服务器上的不相等,则替换掉本地的文件。


    原理图

    3.2、那么我们今天需要解决涉及到的核心技术问题可以总结为下面的一句话:

    如何实现通过基于HTTP协议方式进行远程IIS虚拟目录文件下载?

    3.3、问:WinForm通用自动更新器AutoUpdater是以什么方式进行文件下载的呢?

    支持FTP协议和HTTP两种协议方式,推荐使用HTTP方式。

    四、涉及覆盖的知识点

    两个独立的Winform程序之间如何传递和接收参数;

    如何通过通过HTTP协议进行远程站点文件下载;

    IIS如何搭建自动升级虚拟站点;

    如何配置IIS使其支持自定义文件后缀名格式的文件下载,比如.apk、.config、.bat、.pdb等等;

    AutoUpdateXmlBuilder自动升级器打包工具的使用;

    等等......

     
  • 相关阅读:
    Redis3.0.1 Stable版本的集群部署(Mac)
    Maven的包依赖冲突可引发java.lang.IncompatibleClassChangeError错误
    Key/Value存储系统etcd的特性
    实时消息平台NSQ的特性
    StringIO函数
    对文件内容进行迭代
    基本文件方法
    打开文件
    正则表达式知识点汇总
    编译
  • 原文地址:https://www.cnblogs.com/51net/p/7384155.html
Copyright © 2011-2022 走看看