Qt Installer Framework翻譯(5-3)


推廣更新

創建在線安裝程序,以便能夠向安裝產品的用戶推廣更新。

為了推廣更新,需要執行以下步驟:

  1. 將待更新內容復制到package文件夾。

  2. 在package.xml文件中增加待更新組件的 元素的值。

  3. 使用repogen工具重新創建具有待更新內容的聯機存儲庫,並在存儲庫的根目錄中生成Updates.xml文件。

  4. 將存儲庫上傳到Web服務器。

  5. 使用binarycreator工具創建安裝程序。

配置更新

安裝程序在啟動時會下載Updates.xml文件,並拿該文件中的版本號與已安裝的版本號進行比對。如果該文件中的在線版本號更大,則安裝程序會在可用更新列表中顯示該組件。

在package.xml文件中增加組件的 元素的值。

重新創建存儲庫

提供更新的最簡單方法是重新創建存儲庫,並將其上傳到Web服務器。有關更多信息,請參見創建存儲庫章節。

存儲庫部分更新

以下情況,完整更新整個存儲庫可能不是最佳選擇:

> 該存儲庫非常大,上傳需要很長時間。
> 您只想交付更改的組件。
注意:repogen每次被調用時都會重新創建多個7zip存檔。7zip存儲所包含文件的時間戳(在此過程中,文件可能會被移動或復制),因此每個存檔的SHA值的和都會發生變化。 所有SHA值的總和用於驗證下載的存檔是否被篡改,因此SHA需要與7zip匹配起來。由於SHA值的總和存放在Updates.xml文件中,因此您將被迫上傳整個存儲庫。可以通過使用repogen的--update選項來避免這種情況。

創建部分更新

重新創建在線存儲庫時,請使用--update參數。它以現有存儲庫作為輸入,僅更改附加參數指定的組件。全局配置中也僅更改那些組件的SHA值的和。

上傳部分更新

將以下項目上傳到Web服務器:

> 組件目錄(通常類似於com.vendor.product.updatedpart)。
> 存儲在聯機存儲庫的根目錄中的全局Updates.xml。
注意:上傳的順序非常重要。如果在實時服務器上更新存儲庫,請首先更新組件,然后更新Updates.xml。包名稱包含版本號,因此,用戶在新的包完全上傳之前,會收到舊的包。

變更儲存庫

要使當前更新用存儲庫指向其他存儲庫,請在當前存儲庫中編輯Updates.xml文件。您可以添加,替換或刪除存儲庫。

<RepositoryUpdate>
  <Repository action="..." OPTIONS />
  <Repository action="..." OPTIONS />
</RepositoryUpdate>

添加存儲庫

要更新存儲庫,請使用以下選項將 子元素添加到 元素中:

<Repository action="add" url="http://www.example.com/repository" name="user" password="password" displayname="Example Repository" />

url元素將作為絕對URL來解析Updates.xml文件。如果url本身是相對的,它將在當前文檔的絕對URL的基礎上進行解析。

displayname用於在維護工具的“設置”頁面中命名存儲庫。

名稱和密碼(可選)在受保護存儲庫中指定驗證憑證。

刪除存儲庫

要刪除存儲庫,請使用以下選項將 子元素添加到 元素中:

<Repository action="remove" url="http://www.example.com/repository" />

url必須與要刪除的存儲庫URL完全匹配。

更換儲存庫

要將一個存儲庫替換為另一個,請使用以下選項將 子元素添加到 元素中:

<Repository action="replace" oldUrl="http://www.example.com/repository" newUrl="http://www.example.com/newrepository" name="user" password="password" displayname="New Example Repository" />

oldUrl必須與要被替換的存儲庫URL完全匹配。

newUrl必須與要進行替換的存儲庫URL完全匹配。

重定位存儲庫

一些項目包含多個存儲庫。要創建可重定位的存儲庫集,您應該使用相對路徑。

因此,如果地址為http://www.example.com/repositories/generic的基礎存儲庫可用,斌且Updates.xml包含具有以下選項的 元素:

<Repository action="add" url="../module" name="user" password="password" displayname="Module Repository" />

這樣,添加的存儲庫的解析地址將變為http://www.example.com/repositories/module,以便該存儲庫不包含有關其絕對位置的信息。

如果要更改地址,只需按原樣復制存儲庫集即可。 建議將舊的存儲庫保留一段時間,並如上所述替換新的地址。 您還可以為更新程序提供新的基礎地址。

您可以在 元素中為參數 urloldUrlnewUrl使用相對路徑。


原創造福大家,共享改變世界

獻出一片愛心,溫暖作者心靈



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM