Инфраструктура обновления AIR выполняет процесс обновления, используя следующие шаги:
-
При инициализации объекта updater выполняется проверка, определяющая, проверялось ли наличие обновлений в течение заданного интервала задержки (см. раздел «
Настройка параметров обновления
»). Если проверка наличия обновлений только предстоит, процесс обновления продолжается.
-
Объект updater загружает и интерпретирует файл дескриптора обновления.
-
Объект updater загружает обновленный файл AIR.
-
Объект updater устанавливает обновленную версию приложения.
Объект updater отправляет соответствующие события при завершении каждого из описанных шагов. В версии ApplicationUpdater (без интерфейса пользователя) можно отменить события, сообщающие об успешном выполнении шагов этого процесса. Если какое-то из этих событий отменяется, то отменяется и следующий шаг в процессе. В версии ApplicationUpdaterUI (с интерфейсом пользователя) объект updater открывает диалоговые окна, позволяющие пользователю отменить или выполнить каждый шаг в процессе обновления.
Если отменяется событие, можно вызвать соответствующие методы объекта updater для возобновления процесса.
По мере того как версия ApplicationUpdater объекта updater выполняет различные этапы процесса обновления, она фиксирует его текущее состояние в свойстве
currentState
. Для этого свойства устанавливается переменная типа string со следующими возможными значениями:
-
"UNINITIALIZED"
— Объект updater не был инициализирован.
-
"INITIALIZING"
— Объект updater инициализируется.
-
"READY"
— Объект updater инициализирован
-
"BEFORE_CHECKING"
— Объект updater еще не выполнил поиск файла дескриптора обновления.
-
"CHECKING"
— Объект updater выполняет поиск файла дескриптора обновления.
-
"AVAILABLE"
— Файл дескриптора обновления доступен.
-
"DOWNLOADING"
— Объект updater выполняет загрузку файла AIR.
-
"DOWNLOADED"
— Объект updater выполнил загрузку файла AIR.
-
"INSTALLING"
— Объект updater выполняет установку файла AIR.
-
"PENDING_INSTALLING"
— Объект updater инициализирован и есть неоконченные обновления.
Некоторые методы объекта updater выполняются только в определенном состоянии этого объекта.
|
|
|