Klasa
Updater
(w pakiecie flash.desktop) zawiera jedną metodę,
update()
, której można użyć w celu zaktualizowania obecnie uruchomionej aplikacji do innej wersji. Na przykład, jeśli użytkownik ma wersję pliku AIR ("Sample_App_v2.air") umieszczoną na pulpicie, poniższy kod zaktualizuje aplikację.
Przykład w języku ActionScript:
var updater:Updater = new Updater();
var airFile:File = File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version:String = "2.01";
updater.update(airFile, version);
Przykład w języku JavaScript:
var updater = new air.Updater();
var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version = "2.01";
updater.update(airFile, version);
Przed użyciem klasy Updater użytkownik lub aplikacja musi pobrać zaktualizowaną wersję pliku AIR do komputera. Więcej informacji zawiera rozdział
Pobieranie pliku AIR na komputer użytkownika
.
Wyniki wywołania metody Updater.update()
Gdy aplikacja w środowisku wykonawczym wywoła metodę
update()
, środowisko wykonawcze zamyka aplikację, a następnie próbuje zainstalować nową wersję z pliku AIR. Środowisko wykonawcze sprawdza, czy identyfikatory aplikacji i wydawcy określone w pliku AIR zgadzają się z identyfikatorami aplikacji i wydawcy aplikacji wywołującej metodę
update()
. (Informacje na temat identyfikatorów aplikacji i wydawcy zawiera rozdział
Pliki deskryptora aplikacji AIR
). Środowisko sprawdza także, czy ciąg znaków wersji jest identyczny z ciągiem znaków
version
przekazanym do metody
update()
. Jeśli instalacja zakończy się pomyślnie, środowisko wykonawcze otwiera nową wersję aplikacji. W przeciwnym wypadku (jeśli nie było możliwe zakończenie instalacji), ponownie otwierana jest dotychczasowa (sprzed instalacji) wersja aplikacji.
W celu zainstalowania zaktualizowanej wersji aplikacji w systemie Mac OS użytkownik musi mieć odpowiednie uprawnienia dostępu do zainstalowania w katalogu aplikacji. W systemach Windows i Linux użytkownik musi mieć uprawnienia administracyjne.
Jeśli zaktualizowana wersja aplikacji wymaga zaktualizowanej wersji środowiska wykonawczego, instalowana jest nowa wersja tego środowiska. W celu zaktualizowania środowiska wykonawczego użytkownik musi posiadać uprawnienia administracyjne do komputera.
Podczas testowania aplikacji przy użyciu środowiska ADL wywołanie metody
update()
powoduje wygenerowanie wyjątku w czasie wykonywania.
Informacje o ciągu znaków wersji
Ciąg znaków określony jako parametr
version
metody
update()
musi być zgodny z ciągiem znaków w elemencie
version
lub
versionNumber
w pliku deskryptora aplikacji dla pliku AIR przeznaczonego do zainstalowania. Określenie parametru
version
jest wymagane ze względów bezpieczeństwa. Sprawdzanie przez aplikację numeru wersji w pliku AIR zapobiega niezamierzonemu zainstalowaniu starszej wersji. (Starsza wersja aplikacji może zawierać lukę w zabezpieczeniach, która została wyeliminowana w obecnie zainstalowanej wersji.) Aplikacja powinna także porównać ciąg znaków wersji w pliku AIR z ciągiem znaków wersji w instalowanej aplikacji, aby uniemożliwić ataki polegające na podstawieniu starszej wersji.
W wersjach środowiska AIR starszych niż 2.5 ciąg znaków wersji może mieć dowolny format. Na przykład może mieć wartość „2.01” lub „version 2”. W środowisku AIR 2.5 lub nowszym ciąg znaków wersji musi być sekwencją maksymalnie trzech trzycyfrowych liczb rozdzielonych kropkami. Prawidłowy numer wersji może mieć na przykład postać „.0”, „1.0” lub „67.89.999”. Przed zaktualizowaniem aplikacji należy sprawdzić poprawność ciągu znaków wersji aktualizacji.
Jeśli aplikacja Adobe AIR pobierze plik AIR z sieci Web, wskazane jest zapewnienie mechanizmu powiadamiania przez usługę Web Service aplikacji Adobe AIR o pobieranej wersji. Aplikacja może następnie wykorzystać odpowiedni ciąg znaków jako parametr
version
metody
update()
. Jeśli plik AIR został uzyskany w inny sposób, a jego wersja jest nieznana, aplikacja AIR może przeanalizować plik AIR w celu określenia informacji o wersji. (Plik AIR ma postać archiwum w skompresowanego w formacie ZIP, a plik deskryptora jest drugim rekordem w archiwum).
Szczegółowe informacje na temat pliku deskryptora aplikacji zawiera rozdział
Pliki deskryptora aplikacji AIR
.
Obieg pracy podpisywania aktualizacji aplikacji
Publikowanie aktualizacji metodą „ad hoc” komplikuje zarządzanie wieloma wersjami aplikacji, a także utrudnia śledzenie dat utraty ważności certyfikatów. Certyfikaty mogą utracić ważność, zanim będzie możliwe opublikowanie aktualizacji.
Środowisko wykonawcze Adobe AIR traktuje aktualizację aplikacji opublikowaną bez podpisu migracji jako nową aplikację. Użytkownicy muszą odinstalować bieżącą aplikację AIR, aby móc zainstalować aktualizację aplikacji.
W celu rozwiązania tego problemu należy wysłać każdą zaktualizowaną aplikację z najnowszym certyfikatem na osobny adres URL wdrażania. Należy uwzględnić mechanizm przypominania o stosowaniu podpisów migracji, gdy rozpocznie się 180-dniowy okres prolongaty certyfikatu. Więcej informacji zawiera rozdział
Podpisywanie zaktualizowanej wersji aplikacji AIR
.
Informacje na temat stosowania podpisów zawiera sekcja
Polecenia narzędzia ADT
.
Aby usprawnić stosowanie podpisów migracji, należy wykonać następujące zadania:
-
Wyślij każdą zaktualizowaną aplikację na osobny adres URL wdrażania.
-
Wyślij plik XML deskryptora uaktualnienia i najnowszy certyfikat dla aktualizacji na ten sam adres URL.
-
Podpisz zaktualizowaną aplikację za pomocą najnowszego certyfikatu.
-
Zastosuj podpis migracji do zaktualizowanej aplikacji za pomocą certyfikatu użytego do podpisania poprzedniej wersji, umieszczonej pod innym adresem URL.
|
|
|