在某些情況下,您為 AIR 應用程式簽署更新程式所使用的憑證必須變更。這類情況包括:
要讓 AIR 將 AIR 檔案視為更新程式,您必須使用相同的憑證來簽署原始和更新的 AIR 檔案,或者將憑證移轉簽名套用至更新程式。移轉簽名是套用至使用原始憑證之 AIR 套件的第二個簽章。移轉簽名會使用原始憑證,來確立簽署者正是應用程式的原始發行者。
安裝內含移轉簽名的 AIR 檔案之後,新憑證會變成主要憑證。 後續的更新程式就不需要移轉簽名。不過,只要能夠配合略過更新程式的使用者,您就應該套用移轉簽名。
重要事項:
您必須變更憑證,並在原始憑證過期之前先使用原始憑證將移轉簽名套用至更新。否則,使用者就必須先解除安裝現有的應用程式版本,然後再安裝新版本。若為 AIR 1.5.3 或更新的版本,您可以在過期後的 365 天寬限期內,使用過期的憑證套用移轉簽名。不過,您無法使用過期的憑證來套用主要的應用程式簽名。
變更憑證:
-
建立應用程式的更新版本
-
使用「新憑證」封裝並簽署更新版的 AIR 檔
-
使用「原始憑證」再簽署一次 AIR 檔 (利用 ADT
-migrate
命令)
從其它方面來看,具有移轉簽名的 AIR 檔只是普通的 AIR 檔。若是在沒有原始版本的系統上安裝應用程式,AIR 將如往常般安裝新版本。
備註:
在 AIR 1.5.3 之前,使用更新的憑證來簽署 AIR 應用程式時不一定需要移轉簽名。從 AIR 1.5.3 開始,更新的憑證一律需要移轉簽名。
若要套用移轉簽名,請使用
ADT migrate 命令
,如
簽署 AIR 應用程式的更新版本
中所述。
備註:
ADT migrate 命令無法與包含原生擴充功能的 AIR 桌上型應用程式一起搭配使用,因為那些應用程式是封裝為原生安裝程式,而非 .air 檔案。若要變更包含原生擴充功能之 AIR 桌上型應用程式的憑證,請搭配使用
ADT package 命令
與 -migrate 旗標來封裝應用程式。
應用程式識別變更
在 AIR 1.5.3 之前,安裝的更新程式若簽署移轉簽名,AIR 的識別會變更。變更應用程式的識別會有多種影響,其中包括:
-
新版應用程式無法存取現有加密本機儲存區中的資料。
-
應用程式儲存目錄的位置變更。舊有位置上的資料並未複製到新目錄 (但是新版應用程式仍可根據舊有的發行者 ID 找到原始目錄)。
-
應用程式無法再使用舊有的發行者 ID 來開啟本機連線。
-
網頁用來存取應用程式的識別字串會變更。
-
應用程式的 OSID 會變更 (編寫自訂安裝/解除安裝程式時會用到 OSID。)
發行 AIR 1.5.3 或更新版本的更新時,應用程式身分識別無法變更。您必須在更新 AIR 檔案的應用程式描述器中,指定原始應用程式和發行者 ID 。否則,新的套件不會視為更新程式。
備註:
使用 AIR 1.5.3 (或更新版本) 發行新 AIR 應用程式時,請不要指定發行者 ID。