ProKiLL
@ProKiLL
Системный администратор

Как правильно реализовать обновления программы?

Просьба подсказать как луче реализовать архитектуру обновления программы до актуальной версии.
На текущий момент реализована следующая архитектура:
  • WCF сервер
  • Windows служба
  • WinForm программа с пакетом библиотек (порядка 10 шт.)
Схема реализации обновления
d5ea5207b3d64070bdfd4adf9dd48d20.jpg
  • 1 Проверка службой текущих файлов в дирриктории программы (на полноту и версии)
  • 2 Проверка службой свежих файлов на сервере
  • 3 Службой получаем свежие файлы от сервера и ложим в папку update программы
  • 4 Проверка запущена ли программа
  • 4.1 Если программа не запущена обновляем ее
  • 5 Служба сообщаем программе через Socket что поступили новые обновления
  • 6 Служба получает ответ от программы через Socket, разрешено ли ее обновить.
  • 7 Служба ожидает закрытия программы и начинает обновления
  • 8 Автоматический запуск программы службой


Есть ли у Вас более оптимальный способ?
Или в чем могут в будущем возникнуть косяки при данной реализации?
  • Вопрос задан
  • 407 просмотров
Пригласить эксперта
Ответы на вопрос 1
@gimntut
Отвечу как пользователь, а не программист. Мне не нравится, что на моём компьютере куча служб, которые не занимаются ни чем, кроме обновления. Особенно бесит, если этими программами приходится пользоваться редко.

Лучшая процедура обновления, которую я видел, в продуктах dbforge.
При запуске проверяется наличие новой версии. Если новая версия есть, то предлагает скачать. Это очень важно, если приходится работать через мобильный интернет. Пока работаешь в программе, обновление скачивается, не мешая работе.
При следующем запуске, спрашивается не хочу ли я установить обновление. Это тоже важно, т.к. обновление оооочень долгое и может помешать начать срочную работу.
С одной стороны, это происходит только тогда, когда я этого хочу, а с другой всё происходит явно. Ни каких скрытых, тяжёлых работ с повышенными правами без моего ведома.

Мне совсем не важно, как быстро будет установлено обновление - завтра или через месяц. В большинстве случаев, моя работа ни как не меняется после установленного обновления.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы