Updater Application Block v1.0 – 1.7 應用程式載入器設計

來源:互聯網
上載者:User
應用程式載入器就像“解靴帶”或“墊子”一樣,通過它可以啟動由應用程式升級器更新的應用程式。這一章節將介紹下面的幾個關於應用程式載入器的方面:

問題描述

設計目標、權衡和問題

解決方案描述

具體實現

問題描述

在應用程式運行時升級應用程式是一件困難的事情,Updater Application Block需要提供一種方法,該方法允許應用程式升級器下載並且安裝升級檔案,同時又要允許使用者繼續使用正在更新的應用程式。

設計目標、權衡和問題

Updater Application Block開發人員識別出了以下一些與應用程式載入器相關的設計目標、權衡和問題

1. 應用程式載入器應該在一個獨立進程中啟動最新版本的應用程式

2. 設計中的主要權衡問題是使用者必須通過應用程式載入器啟動應用程式,而非直接啟動。

3. 每一次升級建立一個新的、指定版本的目錄

4. 應用程式載入器配置應該能夠被應用程式升級器訪問和使用(以便獲得當前安裝的版本資訊,並在升級完成後更新升級版本和執行路徑資訊),這意味著應用程式設計工具使用的安全準則(Security Principal)必須對應用程式載入器的設定檔有存取權限。

解決方案描述

應用程式載入器使用它的設定檔來確定最新版本的應用程式的位置,並且啟動它。圖1展示了應用程式載入器如何使用設定檔來定位和啟動應用程式。


使用應用程式載入器,而不是直接啟動應用程式,允許在應用程式運行時,安裝應用程式的新版本。應用程式載入器設定檔會被升級,這樣在下一次執行時,新版本的應用程式會被啟動。

圖2 展示了應用程式載入器如何在升級後啟動最新版本的應用程式。

具體實現

應用程式設計工具集合(AppStart)主要包含三個類:AppStart, AppStartConfigurationConfigSectionHandlerConfigSectionHandler包含用於還原序列化應用程式載入器的設定檔到一個AppStartConfiguration對象的代碼,AppStart使用該對象啟動應用程式。

當應用程式載入器初始化啟動時,它會檢查是否它已經為一個在設定檔中指定的應用程式啟動並且運行著。如果不是,應用程式會傳遞相同的命令列參數給AppStart.exe來啟動應用程式。

更多資訊可以參考 用戶端檔案設計。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.