On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение



Пост N: 58
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 27.04.12 11:38. Заголовок: Автообновление EXE-шника и контроль версий


Добрый день всем ! Не нашел поиском - буду спрашивать напрямую .
Нужно реализовать автообновление EXE-шника .... Есть свой сайт в Интернете - к нему могу приконнектиться по FTP(из программы на Harbour-Minigui) .
Хочется использовать VERSION-нумерацию и сравнивать текущую версию с той что на сервере в сети . Если необходимо обновиться - программа как-то должна это делать ...
Если есть готовые идеи - буду рад их рассмотреть.
Заранее спасибо !


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]


постоянный участник




Пост N: 2186
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.04.12 12:28. Заголовок: http://clipper.borda..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 762
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 27.04.12 12:28. Заголовок: 1. Запускаешь в прог..


1. Запускаешь в проге отдельный поток, который периодически проверяет наличие обновления на сервере.
2. Если обновление найдено, оно сначала копируется на локальный компьютер. Модулей может быть несколько. Например, главная программа, файлы отчетов, dll-ки.
3. После того, как все нужные файлы скопированы, пользователю выдается предупреждение.
4. Дальше уже по вкусу: можно пользователя насильно заставить завершить работу, можно подождать, когда он закроет программу сам.
5. При закрытии программы запускается внешнее приложение - updater, который замещает старые файлы новыми.
6. Также не лишним будет предусмотреть автоматическое изменение структуры dbf-файлов. Но тут есть ньюансы...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1109
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 27.04.12 12:35. Заголовок: А вы точно Harbour+M..


А вы точно Harbour+Minigui используете?
Что-то не похоже.

Вот если бы вы действительно использовали Minigui, то знали бы, что в IDE есть не то чтобы какая-то идея, а и реализация обновления.

А так навскидку. Есть сервер на сервере файл, version.list,
типа
[{ver:1.00.10,file:my_cool_app_01.rar,tstamp:2012-03-22T12:12:01+008},{ver:1.03.04,file:my_cool_app_01.rar,tstamp:2012-04-22T12:12:01+008}]
т.е. понятно, формат hash конвертированый в json, для секюрити применить sha1, base64 и упаковать gz или bz2

Дальше, решила ваша программа проверить есть ли обновление.
По примеру \MiniGUI\SAMPLES\BASIC\httpget скачиваем с сайта, распаковываем, по ходу проверяя целосноcть, извлекаем данные, сравниваем с тем, что есть, ломимся по ftp, забираем нужный файл и т.д.




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3023
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.10.13 17:02. Заголовок: Можно еще и по друго..


Можно еще и по другому, но принцип все равно такой же.

На Web-сервере размещаем обновление программы (просто закачивает по ftp zip-файл обновления), Web-сервер создает динамический файл с последним номером обновления программы.

Юзер запускает свою программу, получает ТЕКУЩИЙ номер версии,
проверяем доступ в интернет ( пример \MiniGUI\SAMPLES\Advanced\INET_CHECKER)
далее программа посылает запрос Web-серверу, Web-сервер отвечает какая есть у него версия программы,
далее программа сравнивает Текущую версию программы с ответом Web-сервера и принимает решение на скачку. Если есть новая программа, то запускает программу на МиниГуи скачки обновления и выход из программы.
Скачка файла с сайта см. пример \MiniGUI\SAMPLES\Advanced\Downloader
туда еще нужно встроить проверку на МД5.
Функции из МиниГуи перевер в хHarbour.
Часть функций по запросу к Web-серверу: Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 158
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет