前言:
假設你是一名光榮的個人程序開發者
你開發了程序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:\Users\chenzd\Desktop\最新程序\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