Указания и мнения по созданию системы обновлений для приложения - PullRequest
2 голосов
/ 27 мая 2010

Я просто пытаюсь найти хорошее решение по разработке процесса обновления для приложения Windows Form, которое я создал. Я думаю о кнопке внутри приложения для ручной проверки обновления и проверки при запуске приложения. Только я не знаком с техникой. Я хотел бы иметь файл установки обновлений на FTP-сервере и проверять сервер на наличие обновлений с помощью txt-файла с именем файла и информацией о версии. Когда приложение завершит загрузку обновления, закроет и запустит файл установки обновления.

Есть предложения, мнения по теме?

Ответы [ 2 ]

1 голос
/ 27 мая 2010
1 голос
/ 27 мая 2010

Обновления приложений в наши дни являются одним из необходимых бед. Думая о приложениях, которые обновляются автоматически, я склонен сгруппировать их в две категории:

  1. Чистое обновление, раз в месяц или реже, быстрое обновление без большого количества нытье или щелчков. И, конечно же, нет подлого программного обеспечения, такого как панели инструментов и программы поиска на рабочем столе ... Firefox, как правило, «хорош» в обновлениях, хотя его дополнения могут быть неприятными.
  2. Другая группа постоянно нуждается в помощи, требует много нажатий кнопок или перезагрузки, занимает много времени для «распаковки» (Adobe Acrobat, смотрит на вас), изменяет настройки в соответствии с вашими пожеланиями (Java) или обычно неприятны.

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

В моей компании есть небольшое приложение, которое требует обновлений, но также должно работать в очень чувствительной ко времени среде. Чтобы облегчить обновления, мы делаем следующее:

  1. При запуске проверяется текстовый файл по внутреннему URL-адресу (это может быть вызов HTTP или FTP). Номер версии сравнивается с содержимым файла.
  2. Если программное обеспечение обновлено, больше ничего не делается. Если нет, то отображается диалоговое окно, информирующее пользователя о том, что приложение должно выполнить обновление. (В нашем случае нет возможности отменить или подождать, но я настоятельно рекомендую это сделать, если можете.)
  3. Файл установки загружается с того же сайта и запускается с помощью команды Process.Start с некоторыми переключателями для автоматической установки / обновления.
  4. Приложение запускается после установки, и прерывание пользователя минимально.

Некоторые вещи, которые вы можете захотеть сделать по-другому:

  • Если не проверять наличие обновлений при запуске, предоставьте возможность запланировать проверку обновлений или вручную выполнить проверку обновлений из (например) меню Справка.
  • Если возможно, разрешите пользователю отменить или отложить обновление; нет ничего более разочаровывающего, чем пытаться выполнить работу с помощью всплывающего диалогового окна, в котором вам предлагается обновлять информацию каждые несколько минут.
  • Убедитесь, что вы протестировали ваши установочные пакеты или патчи перед развертыванием! (Голос опыта!)
...