Фича: программа сама ищет свои обновления

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

1) Нужен сайт, на котором будет лежать инсталлятор и которые сможет отвечать на опеределенный HTTP запрос.
2) Прога посылает этому сайту, определенный http запрос, типа GET site.ru/get_version. В ответ ей возвращается имя версии на данные момент, она сравнивает его со своей и предлагает скачать пользователю новую версию.

Схема вроде не мудреная, я ее хочу попробовать в ближайшее время.

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

Самый простой вариант - создать на сервере текстовый файл, в котором прописать номер последней версии. Прога будет его просто скачивать и читать. Минус, правда, в том, что файл каждый раз при выпуске новой версии надо будет вручную править.

Роман.

Еще надо учесть, что не во всех системах ОС перезаписать запущенный бинарник. По этому после скачивания надо запустить программу обновлялку, которая заменит основной бинарник и запустит его после этого.

Коме того я бы не стал ориентироваться на текстовый файл. Лучше xml. В него всегда можно добавить инфы. Может это для текущего проекта и не актуально, но может пригодиться, например: хранить там "что нового" и выводить перед обновлением, дополнительные инструкции и настойки. В прочем и url для скачивания. Будет огромный рейтинг у вашей программы, текущий хостинг не справиться, можно будет безболезненно файлы хранить на другом сервере, а этот xml оставить на прежнем месте..... А может и еще чего придумаете туда поместить...

Интернет гипермаркет в Минске giper.by

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

Подробнее о форматировании

CAPTCHA
Вводим все на русском
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.