Omaha 流程說明
Omaha 主要由三個部份組成:
- 一個client run time(client-side),
- 一個 meta-installer,
- 一個 server。
client 及 server 之間,使用 http 或 https 溝通。
當使用者希望安裝新的 google應用程式,實際上,使用者只是下載了一個 meta-installer。該檔包裝了一個client run time 安裝檔,以及使用者所選的應用程式安裝檔。
這個 meta-installer 會依情況做事:
- 如果使用者的環境裡沒有 client run time,meta-installer 會安裝一個 client run time。(一台電腦只裝一個),
- 如果使用者環境有一個 client run time,但不是最新的,meta-installer 會更新 client run time。
之後,meta-installer 會要求 client run time,安裝使用者要的 google應用程式。如果,google應用程式不曾被安裝過,client run time 會使用 meta-installer 裡所附帶的 google應用程式安裝檔來安裝,或依 meta-installer 所指示的位置,下載安裝檔來裝裝google應用程式。client run time 會定時跟 server 要資料,檢查安裝在電腦上的 google應用程式,如果有新版本,就會更新google應用程式。
Omaha 也提供了提升權限的功能,讓系統中權限較低的使用者也能安裝google應用程式,不需系統管理員登入來安裝。
新安裝(omaha 沒安裝在系統中)
使用者從 google 網站,下載 meta-install。當使用者啟動 meta-installer 時,它就會安裝並執行 omaha client。在 windows 平台上,像 Vista 的版本,會啟用 UAC 防護,若為所有使用者安裝應用程式(applications per-machine),執行時需要提高至系統管理員權限。接下來 omaha client 會下載應用程式並執行其安裝檔。
二次安裝(omaha 已安裝在系統中)
當 google 網站偵測到,使用者的電腦已經有安裝 omaha client,瀏覽器會利用 ActiveX 或類似物件,開始執行安裝程序,不用下載 meta-installer 的 EXE 或 MSI。
移除 omaha
當系統中,沒有應用程式需要 Omaha 時做為更新機制時,Omaha 會將自己移除。
以下是安裝的流程圖:
- 使用者下載安裝程式,AppNameSetup.exe,裡面包含了 Omaha 的安裝程式及 tag 資料
- 執行 AppNameSetup.exe 的過程,會安裝 Omaha client。Omaha client 讀取 tag 資料,與 Update Server 溝通,得到最新版本的 AppName 安裝檔位置。Omaha client 下載且執行其安裝檔,它本身不參與安裝過程。
- Omaha client 定時(預設 5 小時) 會檢查 Update Server,每一個應用程式是否有更新版的安裝檔,若有就下載並執行它。
沒有留言:
張貼留言