zoukankan      html  css  js  c++  java
  • .net自动更新组件Ant

      Ant是基于Beetle实现开源的自动更新工具,主要包括三大部分:网络文件服务,文件更新管理和客户端更新组件.

    • 网络文件服务

    服务端主要用于文件管理,包括文件上传和下载。服务在开启的时候必须生成rsa证书,主要是用于管理端更新文件时进行一个有效性验证.

    • 文件更新管理

    文件管理端是用于管理更新的文件,必须把服务端生成的private key放到管理端目录下才能有效验证.Ant的更新允许目录结构更新,所以Client更新的时候如果本地没有相关目录结构文件时会自动根据需要进行创建。Ant的文件更新也没有采用版本号作为更新标记,只要管理端更新了对应的文件就会生成一个新的GUID值,Client在更新的时候比较对应的GUID不对应就会更新相应的文件。

    • 客户端更新组件

    自动更新程序是一个Exe文件,放在程序对应就的目录下组件提供相关对象方法来检测更新源。

    • 程序使用组件

    在使用之前必须你的程序的配置文件里添加.

    <configuration>
      <configSections>
        <section name="beetle" type="Beetle.ConfigSelection, Beetle"/>
        <section name="antUpdateSection" type="Ant.Component.AntUpdateSection, Ant.Component"/>
      </configSections>
      <beetle Connections="10"
              Pools="1"
              SocketSendThreads="1"
              SocketReceiveThreads="1"
              SocketThreadSleep="10"
              WorkThreads="1"
              WorkThreadSleep="10"
              SendBufferSize="8048"
              ReceiveBufferSize="8048"
              PackageMaxSize="120000"
              StringEncodingSize="64000"
              ChannelMaxQueueData="0"
              ExecutionContext="False"
              TimeOut="30"
              Statistics="True"/>
      <antUpdateSection xmlns="urn:Ant.Component" host="127.0.0.1" port="9560">
      </antUpdateSection>
    </configuration>

    配置信息有两项,一项是beetle的配置信息,另一项就是配置Ant更新信息主要包括更新服务的IP地址或域名和端口.使用的时候引用Ant.Component.Dll组件然后在主窗体里使用如下代码:

            private void Form1_Load(object sender, EventArgs e)
            {
                Updater update = new Updater();
                if (update.Detect())
                {
                    Close();
                    update.Update("Ant.Update.Test.exe", true);
                   
                }
            }

    以上代码主要是创建一个updater对象,然后检测服务端的更新信息检测是否存在更新,如果存在则调用Update方法即可,Update的参数分别为更新后执行的.exe文件和是否自动关闭更新窗体.

    下载组件完整代码

    访问Beetlex的Github
  • 相关阅读:
    JGrouseDoc使用(原创)
    MVP*2
    《天气与生活》修正近日总是显示数据有误的问题
    [Vista Gadget] 《农历小助手》和《天气与生活》发布新版
    Vista Sidebar gadget development(dropping)
    微软要干掉ADOBE?
    [JS]根据格式字符串分析日期(MM与自动匹配两位的09和一位的9),货币分析成浮点数
    Vista问题二则
    腾讯公司内部信息平台部门招聘.net资深开发工程师和项目经理
    ClientSortableTableExtender Ajax toolkit Extender(源码以后再发布和讲解)
  • 原文地址:https://www.cnblogs.com/smark/p/2629147.html
Copyright © 2011-2022 走看看