>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Новости http://forum.mozilla-russia.org/viewforum.php?id=21 >Управление версиями Firefox http://forum.mozilla-russia.org/viewtopic.php?id=16528 |
Modex > 14-04-2007 00:38:31 |
Мы сталкиваемся с проблемой внутреннего развёртывания Firefox 2.0.0.3, которая заключается в том, что инсталятор программы не может определить, какая версия новее: Firefox 1.5.0.11 или 2.0.0.3. В то же время кто-то просил меня создать список файлов для Firefox, который мог бы использоваться в качестве «сигнатуры файлов» (файл сигнатуры — это файл дистрибутива с уникальным размером, который может использоваться для идентификации отдельных версий дистрибутива). Как результат проделанной работы я выкладываю эту таблицу: Давайте сначала поговорим о проблеме “сигнатур файла”. К сожалению, я быстро обнаружил, что существуют несколько версий в которых размер файла firefox.exe был полностью идентичен. В частности: * 1.0.3 и 1.0.4 Я продолжил исследования и обнаружил, что сравнение только занимаемого на диске места не даёт абсолютно никакого ответа о различии версий. Было решено узнать, не используют ли другие продукты, кроме наших, размер файла для определения сигнатуры. В таком случае имело бы смысл завести в Firefox маленький файл сигнатуры, который бы увеличивался в размере на один байт с каждым выпуском. Это дало бы нам файл, с помощью которого мы могли бы проследить порядок выхода версий по размеру файла. Вторая проблема гораздо более серьёзна. Оказалось, что несмотря на исправление ошибки 286825, основная проблема с файлом контроля версий Firefox осталась. В частности, взгляните на версию файла (это не версия программы) Firefox 1.5.0.11 и Firefox 2.0.0.3. Вы можете заметить, что для Firefox 1.5.0.11 это 1.8.20070.31202, а для Firefox 2.0.0.3 — 1.8.20070.30919. Итак, если приложение использует версию файла для определения того, какой из них является последней версией программы, то получится что Firefox 1.5.0.11 новее чем Firefox 2.0.0.3. Это и есть та причина, которая вызывает проблемы при установке программы. Мы можем обойти эту проблему со своей стороны, но всё равно нам необходима другая система назначения правильных версий файлов Firefox. В противном случае мы получаем ещё одно препятствие для широкого использования Firefox. Источник |
Heavybrother > 14-04-2007 02:04:17 |
Modex |
roman_ > 14-04-2007 07:32:30 |
лучше хранить в самом экзешнике дополнительно официальный номер версии, по которому и определять кто новее или в отдельном текстовом файле. в крайнем случае, можно использовать не размеры файлов firefox.exe, а его md5-суммы |
Returned > 14-04-2007 10:36:46 |
Самый простой и наиболее эффективный, это идентификация по штамму времени (сам использую его в своих программах). Любой компилятор, при компиляции записывает 4 байта кодированной даты+время с точностью до секунды в PE заголовок. |
Compilyator > 14-04-2007 12:00:06 |
Returned пишет
А как декодировать ети 4 байта в нормальное представление даты???? |
unixman > 14-04-2007 13:04:26 |
А почему нету инфо о MineField? |
Modex > 14-04-2007 13:43:17 |
unixman |
Eictol0n > 14-04-2007 16:31:39 |
Бред, |
passer-by > 24-04-2007 10:00:54 |
Честно говоря, с моей делитанской точки зрения, звучит всё это как-то по-детски. Даже я сразу понял что столбец «Size on disk» ничего не даст, т.к. он у всех будет разный, так или иначе. Автор же тут делает далекоидущие выводы:
Вообще, статья результатов исследования как-то путано написана (подмена понятий?), особенно в начале (возможно это вина переводчиков — оригинал я поленился посмотреть). |
passer-by > 24-04-2007 10:33:52 |
Мда… Видимо сие произведение всё-таки придётся отправить прямиком в доменную печь, т.к. я из распирающего меня любопытства, которое переплюнуло лень, сходил по ссылке и всё оказалось ещё хуже:
Ууууу… My applouse here. |