Обновления приложений в наши дни являются одним из необходимых бед. Думая о приложениях, которые обновляются автоматически, я склонен сгруппировать их в две категории:
- Чистое обновление, раз в месяц или реже, быстрое обновление без большого количества нытье или щелчков. И, конечно же, нет подлого программного обеспечения, такого как панели инструментов и программы поиска на рабочем столе ... Firefox, как правило, «хорош» в обновлениях, хотя его дополнения могут быть неприятными.
- Другая группа постоянно нуждается в помощи, требует много нажатий кнопок или перезагрузки, занимает много времени для «распаковки» (Adobe Acrobat, смотрит на вас), изменяет настройки в соответствии с вашими пожеланиями (Java) или обычно неприятны.
С учетом этих соображений настройте автоматическое обновление так, чтобы оно было максимально удобным для пользователя, и планируйте, чтобы ваши пользователи иногда хотели пропустить обновление (если это не критично для работы).
В моей компании есть небольшое приложение, которое требует обновлений, но также должно работать в очень чувствительной ко времени среде. Чтобы облегчить обновления, мы делаем следующее:
- При запуске проверяется текстовый файл по внутреннему URL-адресу (это может быть вызов HTTP или FTP). Номер версии сравнивается с содержимым файла.
- Если программное обеспечение обновлено, больше ничего не делается. Если нет, то отображается диалоговое окно, информирующее пользователя о том, что приложение должно выполнить обновление. (В нашем случае нет возможности отменить или подождать, но я настоятельно рекомендую это сделать, если можете.)
- Файл установки загружается с того же сайта и запускается с помощью команды Process.Start с некоторыми переключателями для автоматической установки / обновления.
- Приложение запускается после установки, и прерывание пользователя минимально.
Некоторые вещи, которые вы можете захотеть сделать по-другому:
- Если не проверять наличие обновлений при запуске, предоставьте возможность запланировать проверку обновлений или вручную выполнить проверку обновлений из (например) меню Справка.
- Если возможно, разрешите пользователю отменить или отложить обновление; нет ничего более разочаровывающего, чем пытаться выполнить работу с помощью всплывающего диалогового окна, в котором вам предлагается обновлять информацию каждые несколько минут.
- Убедитесь, что вы протестировали ваши установочные пакеты или патчи перед развертыванием! (Голос опыта!)