程序自动升级(有源码),程序自动更新

前言:

假设你是一名光荣的个人程序开发者
你开发了程序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

原文地址:https://www.cnblogs.com/CSSZBB/p/12882068.html