![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Интересная задачка... [D6, Win2k]
Smok_er © (2003-01-09 00:21:00)Мастера, откликнетесь.
У нас на фирме требуется сделать систему автоматичского апдейта приложений.
Все это выглядит так: на сервере в интернете лежат программы. Когда какой-то пользователь запускает программу, происходит обращение к серверу, получение даты модификации файла, и, в случае несовпадения нынешней версии и версии на сервере - обновление.
Но система к сожалению не идеальна, много глюков и уже нет сил с ними бороться. Решили создать нечто новое.
В связи с этим идея:
Каким-то образом читать часть файла, получать смещение, по которому лежит информация о версии (интересует прежде всего номер билда и дата модификации), чтение этой информации и произведение соответствующих действий.
В связи с чем вопрос: как можно откопать точное расположение информации о версии файла?
Буду очень благодарен за любую информацию по данному вопросу (факи, доки, личный опыт, советы и т.д. и т.п.)
Огромное вам спасибо!
ACR (2003-01-09 14:02:00) [1]Информация о версии это ресурс PE файла
тебе нужно посмотреть инфу по формату PE
Bis (2003-01-09 13:57:00) [2]вместо ини-файла выложи легкий файлик, который скачаешь,
он будет знать откуда что качать смотря по версии, мало ли что там на сайте поменялось.
Запустишь, он определит версию твоей проги и надо ли качать обновление для тебя, какие файлы надо скачать, запустит прогу закачки и т.п.
Ну тут фантазия неограничена и кол-во способов тоже ...
REA (2003-01-09 12:31:00) [3]Ну иногда апгрейдить нужно не только exe и dll.
KSergey (2003-01-09 12:31:00) [4]> smok_er (09.01.03 11:13)
> Хочется сделать раз и навсегда. Пусть и с гемором.
тогда зачем что-то делать? С гемором, как я понял, уже есть!
smok_er (2003-01-09 12:22:00) [5]Объясните пожалуйста вашу идею насчет текстов-ресурсов
REA (2003-01-09 11:36:00) [6]А если тексты-ресурсы обновлять? У них то нет версии. Можно дату проверять например, а лучше действительно типа INI что-нибудь.
smok_er (2003-01-09 11:13:00) [7]RV © (09.01.03 11:09)
сам так делал - поверь, гемора НАМНОГО меньше
Хочется сделать раз и навсегда. Пусть и с гемором.
smok_er (2003-01-09 11:11:00) [8]Т.е. имя файла вместе с адресом - http://www.server.com/program.exe
RV (2003-01-09 11:09:00) [9]
> Anatoly Podgoretsky © (09.01.03 10:28)
> Да размести ты ини файл на сервере
сам так делал - поверь, гемора НАМНОГО меньше
smok_er (2003-01-09 11:06:00) [10]Хорошо, смоделируем ситуацию...
Файл лежит на сервере и занимает 2 Мб.
Я коннекчусь к серверу и получаю информацию о версии. Но ведь придется скачать полностью файл... А мне это не надо. Качать надо в том случае, если он обновился.
Romkin (2003-01-09 10:49:00) [11]Mike_Goblin дал самое то... подсунь нужный файл в GetFileVersionInfo и узнаешь о нем все
smok_er (2003-01-09 10:43:00) [12]Хотелось сделать все красиво, без дополнительных файлов. Неужели нет решения? Я нашел место, где хранится информация о версии, но естественно, смещение всегда разное. Как бы вычислить это смещение...
Anatoly Podgoretsky (2003-01-09 10:28:00) [13]Да размести ты ини файл на сервере
smok_er (2003-01-09 10:18:00) [14]Mike_Goblin © (09.01.03 10:00)
Спасибо, но это не то :(
Мне нужно считать несколько байт, определить смещение информации о версии в файле и считать несколько байт самой информации о версии.
Т.е. без закачки всей программы!
smok_er (2003-01-09 10:03:00) [15]Maksss (09.01.03 02:06)
yandex.ru хорошо посмотриш многое поймёш
трояны отпадают сразу , сам проверял!
Не понял, что Вы хотите сказать...
Mike_Goblin (2003-01-09 10:00:00) [16]http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_10053844.html#1
Maksss (2003-01-09 02:06:00) [17]yandex.ru хорошо посмотриш многое поймёш
трояны отпадают сразу , сам проверял!
[NIKEL] (2003-01-09 01:33:00) [18]....а какая разница?
ну уж самый простой способ трудно придумать... хотя
можно сделать простой txt файл(ini) который будет лежать на сервере(и вовремя обновляться) и описывать все изменения во всех программах - загрузил его и читай, что надо обновлять а что нет...
Smok_er (2003-01-09 00:59:00) [19]Нет, программ там целая куча (из моих слов наверное все подумали что только одна).
[NIKEL] (2003-01-09 00:27:00) [20]да просто именовать файлы на сервере так, чтобы имя говорило о том что это новая версия и все, каждая программа знает под каким именем она лежала на сервере и если имя не совпадает, то значит надо качать