Вощем надоело мне давать обновления вручную, решил сделать как положено.
может кто подсказать с чего начать или какуюнеть статейку?
Интересует :
где хранить файлы, как регистрировать сайт и че там писать как получать доступ к нему из по и узнавать версию.
Как скачивать соответственно и получать список обновленных компонентов.
Кроме работы с архивом по данной ссылке ничего путевого нету.
Небольшие замечания по данному примеру:
- Качать каждый раз архив со всеми файлами глупо т.к. в программе может обновится только библиотека так зачем же тогда качать еще ехе и другие библиотеки если они есть. В данном случае нужно скачивать только те файлы которые обновились.
- Отдельный апдетор для программы это на любителя, я делал всегда апдейт программ в самой программе. Дико раздражает на руофе этот долбанный зависатор который сам толком не может обновится и клиент игры тоже обновляет как Бог на душу послал, поэтому имхо программа которая обновляет сама себя намного интереснее и исключает некоторые глюки.
Последний раз редактировалось Silent, 25.01.2012 в 15:28.
Кроме работы с архивом по данной ссылке ничего путевого нету.
Небольшие замечания по данному примеру:
- Качать каждый раз архив со всеми файлами глупо т.к. в программе может обновится только библиотека так зачем же тогда качать еще ехе и другие библиотеки если они есть. В данном случае нужно скачивать только те файлы которые обновились.
- Отдельный апдетор для программы это на любителя, я делал всегда апдейт программ в самой программе. Дико раздражает на руофе этот долбанный зависатор который сам толком не может обновится и клиент игры тоже обновляет как Бог на душу послал, поэтому имхо программа которая обновляет сама себя намного интереснее и исключает некоторые глюки.
идеальный алгоритм для меня это по принципу lameupdater.
Сверяем хеши наших файлов с хешами на сервере. Составляем список че обновить и качаем.
вот мне главное как запросить у серва список файлов с хешами и как скачать нужные
сжатие, хеширование и замену сделаю
Генерируешь текстовый файл, содержащий следующую информацию о каждом файле:
1. Имя файла
2. Контрольная сумма файла (лучше md5)
3. Размер файла в сжатом виде
Загружаешь этот служебный файл на сайт. Сжимаешь отдельно каждый файл программы и тоже загружаешь на сайт.
Контрольную сумму надо считать от оригинального файла. Размер указывать от архива с файлом.
Программа загружает с сайта служебный файл, проверяет все файлы по списку на отличие контрольной суммы, суммирует размер сжатых версий для получения общего размера загрузки (исключительно для информирования пользователя и для отображения общего прогресса загрузки), загружает необходимые файлы и распаковывает их.
и мои пять копеек. файл большой получится. ну всмысле 5 килобайт это конечно не много, но не лучше ли вести учет номера версии. поясняю:
вышел релиз программы, на сайте лежит файлик "ver", с цифоркой 1.
программа при запуске качает этот файл и сравнивает со своей версией то есть 1.
сделал какой-то новый файл, на сайте правишь тот файлик пишешь 2. и выкладываешь сам файл и тот файл с хешами.
программа получает первый мизерный файл, видит что цифорка изменилась - льет файл с хешами, сраванивает, выбирает что скачать, качает файлы.
в моем случае, тот файл с номером весил несколько байт. его проще каждый раз проверять.