Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 256
Благодарности: 64

Профиль | Отправить PM | Цитировать


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

тут имеем 2-е проблемы:
- первая: как определить, что дистрибутив изменился на офсайте?
с обычными файлами проще - высчитали размер существующего файла (если он есть), определили размер файла на офсайте (без его скачивания), далее простое сравнение двух размеров. размеры одинаковы - качать не надо! размер разный - качать надо!
архив же после распаковки не нужен, сохранять его в ячейке - не нужно!

я эту проблему решаю так:
- в ячейке появляется еще один файл size.txt. в нём в одной строке записан размер архива.
в начале скачивания (когда ячейка пустая) этого файла нет. он создастся, когда будет успешно скачан архив, и в него (в файл size.txt) будет записан размер архива.
далее после обработки (распаковки) и удаления архива у нас останется размер, с которым мы можем в дальнейшем сравнивать и принимать решение о скачивании изменившегося архива.

- вторая проблема: что в архиве?
некоторые (большинство ?) производителей в архиве пакуют определённое имя exe- или msi- (или иное) файлов.

пример:
Comodo Internet Security 10
дистрибутив получаем со стационарной ссылки:
https://cdn.download.comodo.com/cis/..._installer.exe
но полученный exe-файл - это архив! в нём есть 2 интересующих нас файла:
cis_setup_x64.msi и cis_setup_x86.msi
и эти файлы неизменны по именам!

Winstep Nexus
http://www.winstep.net/nexus.zip
внутри архива неизменный файл: NexusSetup.exe

посложнее пример:
MusicBee
отсюда:
https://www.getmusicbee.com/downloads/
ищем архив и его скачиваем. на 11.04.18 ссылка такая:
https://www.mediafire.com/file/d3fr2..._1_Update3.zip
внутри архива имя такое:
MusicBeeSetup_3_1_Update3.exe
как быть тут?
- качаем архив в определённое имя: MusicBeeSetup.zip
- распаковываем его и переименовываем получившийся exe-файл в определённое имя: MusicBeeSetup.exe

Отправлено: 11:05, 11-04-2018 | #6