zoukankan      html  css  js  c++  java
  • 程序自动升级(有源码),程序自动更新

    前言:

    假设你是一名光荣的个人程序开发者
    你开发了程序A给别人使用。并且你还保持了程序的持续跟新,大概每个几天,你就会发布新的版本。那么,你是如何把最新的程序分发给用户老爷们的那?
     
    每次拷贝固然简单,但人一多就不好处理了把! 自动更新势在必行。
    自己开发一个自动更新程序?这东西说大不大,说小不小,要做到灵活好用,也要花个十天半月。并且,你还需要一个服务器0.0
     
    我就碰到了这样的烦恼。所以花了些时间,开发了一个自动升级程序,需要的小伙伴可以用,避免重复造轮子。同时开放了源码
     
    使用说明
     
    独立第三方升级程序闪亮登场。因为博客园上传文件不能超过10MB,所以分成两个部分.
      https://files.cnblogs.com/files/CSSZBB/自动跟新.rar     必须用到
      https://files.cnblogs.com/files/CSSZBB/webapi.rar    如果不是自己部署一个服务器,使用我部署好的的webapi接口,可不用
     
    下面开始说具体逻辑和使用流程 。实现自动更新服务,主要用到3个部分
    1:上传工具 2:升级服务器 3:下载更新工具
     
    step1 :假设你开发了程序A,编译后生成到文件夹 ReleaseA,那么,想让别人能获取到你的最新程序,首先要做的是把你的ReleaseA文件夹下的文件,(增量,软件会判断本次哪些文件有更新)更新到升级服务器。。这一步,你需要用到上传工具。
     
    step2:假设你的客户小美,正在使用你的程序A,启动程序A时,你的A需要同时去启动 下载更新工具,。下载更新工具会判断服务器是否有更新的版本,如果有,则自动下载。
     
    step3: 前面两部,都有一个前提,你已经布置好了升级服务器。这个部分,如果你有自己的服务器比如阿里云,腾讯云等,可以自己布置,如果你没有,可以用我的服务器,目前我会一直免费开放这个功能给大伙。
     
    好,流程基本理清楚了以后,我们上使用的截图,先看软件的各个部分
     
     step1
    首先看上传工具
     

    假设你最新的程序,编译到了如下文件夹C:UserschenzdDesktop最新程序Release  按如下截图操作

     

     等提示上传完成后,右边已创建版本,就会多出你上传的这个版本名称。  

    以后,如果你跟新了程序,只需再如图操作一次,工具就会分析你哪些文件跟新了,然后让你上传

    你的工作到此结束。
     
    step2
    接下来,你的客户小美,需要使用你的程序。这里有两种情况。
    1 她是你的老客户,已经有旧版本的[程序A]
    2 她是你的新客户,啥也没有。
    无论哪种情况,想要自动更新。需要用到我们的AutoUpdate了。把这个文件夹拷贝给她。
    拷贝给他之前,根据你之前上传时的配置,需要修改下AutoUpdateCleint.exe.config

    配置字段的意义写的够清楚了把?你这里要改下 ServerUniqueName这个字段,改为你上传时输的这里的值。

    如果你想升级完成自动运行你自己的程序,改下StartExeName的值

    这样,自动跟新程序,就知道要去哪里下载程序,下载完后运行什么程序了。

    小美点击一下下面的程序,如果有需要跟新,那么会提示

    这样,还不算完。想更自动一点。比如你自己的程序为aaa.exe。  正常应该时小美点击aaa.exe的时候,跟新程序会去判断是否要升级。而不是让小美去点击跟新程序。

    所以,你还有个艰巨的任务。

    1 改一下你的aaa.exe代码,让程序启动的时候去启动AutoUpdateClient.exe

    2 或者,你不改代码也行. 你写个.bat处理文件给小美用,.bat中启动你的aaa.exe。和AutoUpdateClient.exe   。让她点这个bat文件运行程序

    Step3

    上面的情况,使用了我部署好的web服务。如果你有自己的服务器,想自己部署。可以用上面的webapi程序,自己部署一个,然后把上面两个程序的ip地址和端口改成你自己的

    感兴趣源码可访问https://gitee.com/csszbb/WebAuto

    如果对您有帮助,帮我点个赞,有问题或需求可联系我QQ384347789

  • 相关阅读:
    Java入门——day42
    第六周进度报告
    Java入门——day41
    Java入门——day40
    Java入门——day39
    Java入门——day38
    Java入门——day37
    Java入门——day36
    Java入门——day35
    第五周进度报告
  • 原文地址:https://www.cnblogs.com/CSSZBB/p/12882068.html
Copyright © 2011-2022 走看看