1. 程式人生 > >實現軟體自動線上升級的原理

實現軟體自動線上升級的原理

    寫兩個程式,一個是主程式;一個是升級程式;所有升級任務都由升級程式完成。

 1.啟動升級程式,升級程式連線到網站,下載新的主程式(當然還包括支援的庫檔案、XML配置文件等)到臨時資料夾;

 2.升級程式獲取伺服器端XML配置檔案中新版本程式的更新日期或版本號或檔案大小;

 3.升級程式獲取原有客戶端應用程式的最近一次更新日期或版本號或檔案大小,兩者進行比較;如果發現升級程式的日期大於原有程式的最新日期,則提示使用者是否升級;或者是採用將現有版本與最新版本作比較,發現最新的則提示使用者是否升級;也有人用其它屬性如檔案大小進行比較,發現升級程式的檔案大小大於舊版本的程式的大小則提示使用者升級。本文主要採用比較新舊版本更新日期號來提示使用者升級。

 4.如果使用者選擇升級,則獲取下載檔案列表,開始進行批量下載文件;

 5.升級程式檢測舊的主程式是否活動,若活動則關閉舊的主程式;

 6.刪除舊的主程式,拷貝臨時資料夾中的檔案到相應的位置;

 7.檢查主程式的狀態,若狀態為活動的,則啟動新的主程式;

 8.關閉升級程式,升級完成。


相關推薦

實現軟體自動線上升級原理

    寫兩個程式,一個是主程式;一個是升級程式;所有升級任務都由升級程式完成。  1.啟動升級程式,升級程式連線到網站,下載新的主程式(當然還包括支援的庫檔案、XML配置文件等)到臨時資料夾;  2.升級程式獲取伺服器端XML配置檔案中新版本程式的更新日期或版本號或檔案大

在WinForm中使用Web Services 來實現 軟體 自動升級( Auto Update ) (C#)

winform程式相對web程式而言,功能更強大,程式設計更方便,但軟體更新卻相當麻煩,要到客戶端一臺一臺地升級,面對這個實際問題,在最近的一個小專案中,本人設計了一個通過軟體實現自動升級技術方案,彌補了這一缺陷,有較好的參考價值。 一、升級的好處。     

HTML5進階 三 HBuilder實現軟體自動升級 優化篇

HBuilder實現軟體自動升級(優化篇) 前言 受前篇部落格《HTML5進階(二)HBuilder實現軟體自動升級》(點選檢視詳情)的影響,測試過程中發現APP自動更新還是存在問題,第一次升級沒有任何問題。第二次升級時,若wrt升級包的名字相同,則會出現以下錯誤提示:   &

HTML5進階 二 HBuilder實現軟體自動升級

HBuilder實現軟體自動升級 前言             移動APP開發好後需要實現軟體自動升級功能,經過一番搜尋,發現HBuilder具有“App資源線上升級更新”的功能,遂研究之。 經過一番測試,在原始碼思想的基

C#實現軟體自動升級

winform程式相對web程式而言,功能更強大,程式設計更方便,但軟體更新卻相當麻煩,要到客戶端一臺一臺地升級,本文結合實際情況,通過軟體實現自動升級,彌補了這一缺陷,有較好的參考價值。 由於程式在執行時不能用新的版本覆蓋自己,因此,我們將登入視窗單獨做成一個可執行檔案,

HTML5進階(三)HBuilder實現軟體自動升級(優化篇)

HBuilder實現軟體自動升級(優化篇) 前言 受前篇部落格《的影響,測試過程中發現APP自動更新還是存在問題,第一次升級沒有任何問題。第二次升級時,若wrt升級包的名字相同,則會出現以下錯誤提示:         估計是HBuilder的BUG導致出現以上錯誤。受社群中

Android讀取XML實現軟體自動登陸

    嘿嘿,大家好又見面了,這次我們不在學習那些乾貨,來點有趣的,大家都知道在我們日常生活中有很多可以自動登陸的軟體,例如:某寶,某東,這些軟體都實現了自動登陸,這次呢,咱們也不能落後是吧,咱們也來實現個自動登陸的小程式,不過咱們這個自動登陸的小程式可不

STM32線上升級原理,和應用程式不正常執行

為方便產品出廠後,使用者可以通過外設介面如USB,USART對裝置進行升級,通常會有一段引導程式碼,在開機的時候從Boot啟動,啟動通過與上位機通訊是否需要升級,如果沒有升級就直接跳轉到APP空間,及

如何實現軟體自動重啟

在一些情況下軟體可能要自動重新啟動,基本的設計思路是: 1、設定一個是否自動重啟的Flag,如:bRestart; 2、在程式退出響應函式中判斷標識變數,如果是要重啟,那麼啟動對應程式 void

C++實現軟體自動更新功能

    按照http協議,傳送請求資料   char *request = "GET /version.txt HTTP/1.0\r\nHost:www.xxx.com\r\nConnection: Close\r\n\r\n";   GET這個是表示以什麼方式請求,HTTP中還有很多其他的請求方式,常

C# winForm 軟體自動升級實現方式

對於C#winform開發者來說,軟體自動升級功能是一個很重要的功能。作者根據自身經驗,和大家分享一下軟體升級的實現方式。 注意:本文主要介紹通過WebService升級軟體。作者的另一篇通過FTP方式升級軟體的介紹可在作者的另一篇文中檢視https://jingyan.baidu.com/ar

利用Github伺服器做一個軟體自動升級系統

完整原文(含原始碼):http://exp-blog.com/2018/10/19/pid-2453/ (轉載請註明出處,僅供分享學習,嚴禁用於商業用途) 宣告 寫這個外掛純粹是出於學習目的,此博文主要作用是功能展示 未經允許禁止出於商用目的使用

解析配置檔案自動裝配 DataSource + AbstractRoutingDataSource + AOP 實現動態資料來源 上:原理解析,解析資料來源

spring boot 自動裝配會通過 spring.datasource.*為我們自動裝配資料來源,所以想要動態的切換資料來源,第一件事是配置資料來源,其次是怎麼切換?最後何時切換? 原理解析(使用 AbstractRoutingDataSource 實現) spring-jd

stm32實現簡易程式線上更新的原理簡述

stm32要想更新程式,一般的做法就是用j-link或者串列埠下載。那可不可以實現不限通訊方式,實現線上更新呢? 為了實現線上更新的這個功能,我寫了一段簡易的類似BootLoader的程式。原理就是在應用程式執行之前新增一段程式碼,可以選擇一種通訊方式來接收新的應用編譯完成生成的bi

基於FPGA的線上升級的驗證以及實現

      線上升級指的是程式不通過JTAG,僅僅是上位機發資料給fpga,fpga在將資料寫到flash, 斷電上電後,程式自動載入到fpga中,相當於僅僅通過一個介面(網口,usb介面或者串列埠),更新了fpga中的程式,對於一款成熟的產品,線上升級功能是必須的。下面將通

Shell指令碼實現軟體一鍵安裝和自動重啟(一)

前言 在LINUX開發過程中,往往需要對已經開發好的軟體進行打包,一鍵安裝後程序能自動後臺啟動,當程序意外關閉後能自動重啟,本篇來介紹實現過程。 業務分析 對功能進行拆分 1、實現程式後臺執行,掛掉重啟的監聽器指令碼 2、將監聽器指令碼放入開機啟動項 3、實現軟體

SpringBoot自動配置的原理實現

SpringBoot自動配置的實現原理 SpringBoot的核心就是自動配置,自動配置又是基於條件判斷來配置Bean。關於自動配置的原始碼在spring-boot-autoconfigure-2.0.3.RELEASE.jar 回顧配置屬性 在通常需要我們在

實現"通過串列埠升級嵌入式目標板軟體"功能的一些心得體會

  最近由於專案需要,在AT91FR40162平臺上實現了通過串列埠傳輸目標板二進位制可執行檔案並更新固化到儲存執行程式碼的片內ROM中。在這之前,我進入公司以來,這個平臺上,通過模擬器把程式下載到目標板是更新目標板固化程式的唯一途徑。隨著對嵌入式系統的逐步瞭解,我認識到存在不通過模擬器升級程式的方法:我們日

C#/WPF程式實現軟體開機自動啟動的兩種方法

C#/WPF程式實現軟體開機自動啟動的兩種方法 方法一:將軟體的快捷方式建立到計算機的自動啟動目錄下(不需要管理員許可權) 1.必要引用 using System; using System.Collections.Generic; using System.Linq; using Sy

C#/WPF程式實現軟體開機自動啟動的兩種常用方法

C#/WPF/WinForm/.NET程式程式碼實現軟體程式開機自動啟動的兩種常用方法函式的示例與例項帶詳細註釋 方法一:將軟體的快捷方式建立到計算機的自動啟動目錄下(不需要管理員許可權) 1.必要引用 using System; using System.Collections.Gen