Adobe AIR Update Framework: как проверить наличие обновлений после установки приложения AIR? - PullRequest
1 голос
/ 07 апреля 2009

-Как я могу проверить новую версию своего приложения после установки?

Мне кажется, что я помню, как устанавливал приложение AIR, и во время установки получал уведомление о наличии новой версии и подсказку о том, хочу ли я обновить.

-Как я предупреждаю пользователя через текстовое поле, что для приложения есть обновление, и запускаю опцию «Проверить наличие обновлений»?

Я не хочу принудительно проверять наличие обновлений ApplicationUpdaterUI. Я хочу уведомить пользователей о наличии новой версии, а затем разрешить запуск ApplicationUpdaterUI.

В настоящее время после инициализации приложение открывает диалоговое окно «Проверка обновлений». Я был бы очень признателен за понимание любого из этих двух вопросов.

Я хотел бы отметить, что я разрабатываю с использованием FlashDevelop3 RC2 и Flex 3 SDK, который содержит AIR SDK и среду обновления AIR.

Брайан Ходж
blog.hodgedev.com

Ответы [ 4 ]

1 голос
/ 07 апреля 2009
1 голос
/ 07 апреля 2009

Я не думаю, что вы можете проверить наличие обновлений во время установки. Что вы можете сделать, это установить базовое приложение оболочки, которое всегда загружается в фактическое приложение в виде SWF-файла. Вы даже можете загрузить этот SWF-файл при первом запуске приложения. После этого вы всегда можете проверить наличие новой версии приложения (swf) и соответственно загрузить / обновить.

0 голосов
/ 26 августа 2009

Я думаю, что ваш лучший выбор здесь:

a) Убедитесь, что пакет .air, который устанавливают люди, всегда является последней версией (это может быть невозможно, если вы распространяете приложение на твердом носителе, например на компакт-дисках)

b) Сделайте процесс обновления первым, что происходит в приложении (то есть не показывайте свой основной пользовательский интерфейс, пока вы не проверили наличие обновленной версии или не показали им пользовательский интерфейс обновления)

Однако, если вы обратитесь в Adobe, вы можете получить разрешение на использование прилагаемого установщика, который может устанавливать как AIR, так и ваше приложение нестандартным способом (например, через InstallShield). С помощью этого метода вы можете делать практически все, что вы хотели, когда приложение установлено, включая запуск простого скрипта, который проверял бы, есть ли у них последняя версия.

Вы можете проверить http://www.adobe.com/devnet/air/articles/distributing_air_in_enterprise_02.html для получения дополнительной информации об установке в комплекте.

0 голосов
/ 29 мая 2009

Надеюсь, это поможет ... Во время установки - НЕТ - вы действительно ничего не сможете запустить, если используете стандартный установщик AIR. Вы можете перейти к пользовательскому установщику, но это гораздо больше.

Тем не менее, когда вы впервые вызываетесь - когда запускается ваше приложение - вы можете проверять затем (и можете проверять столько раз, сколько захотите после этого).

Парень, которого вы хотите видеть, это ApplicationUpdater вместо ApplicationUpdaterUI. Используя ApplicationUpdater, вы можете получить все проверки / загрузки / и т.д. ... Но затем отобразить ЛЮБОЙ или НЕТ пользовательский интерфейс - самостоятельно.

Например, вы можете проверить наличие обновлений, загрузить их, определить, что они необходимы, и при следующем «запуске» вашего приложения - вы можете буквально «установить» все, не спрашивая пользователя.

Я не рекомендую это ... Но это возможно.

Подходя к сценарию, который вы задали выше - вы можете проверить наличие обновлений, определить, нужно ли обновление (сравнивая версию или что-то еще), а затем уведомить пользователя любым удобным для вас способом - настолько тонким, насколько вы хотите - попросить пользователя обновить .

Вы также можете сделать это с ApplicationUpdaterUI - вам просто нужно отключить все элементы пользовательского интерфейса (что побеждает цель использования парня из интерфейса) и просто перехватывать события и отображать свой собственный интерфейс - например:

_applicationUpdater.isCheckForUpdateVisible = false; _applicationUpdater.isDownloadUpdateVisible = false; _applicationUpdater.isDownloadProgressVisible = false;

Надеюсь, это поможет.

...