Поиск:  


Общие правила | Список пользователей | Помощь

Отметить всё прочитанным

Windows News Hardware Software Wiki Forum


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

В Новый Год с новым сайтом!


Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Vista » Инфо - [техзадание] Распространение обновления для CHM файла

Ответить
Настройки темы
Инфо - [техзадание] Распространение обновления для CHM файла

(*.*)


Administrator


Сообщения: 16,952
Благодарности: 1,375


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


Изменения
Автор: Vadikan
Дата: 27-09-2006
Доброго времени суток!

Возможно, тема не совсем соответствует данному форуму, но я его выбрал намеренно. Во-первых, речь все таки об обновлении, а во-вторых - здесь наиболее квалифицированная аудитория для решения подобной задачи Так что прошу модераторов отнестись с пониманием, а участиков - помочь в решении поставленной задачи. К делу!

Общая информация

Речь идет о CHM файле, в котором собраны статьи клуба переводчиков OSZone.net (ссылка в подписи). Размер файла пока невелик, но расти он будет достаточно быстро - рано или поздно возникнет ситуация, при которой посетители могут не захотеть загружать файл весом в 15-20 мб ради 5 новых статей. В сязи с этим возникла идея выпуска ежемесячных обновлений для CHM файла. Другими словами, посетитель загружает базовый файл, а впоследствии загружает только обновления небольшого размера. Безусловно, полный файл также будет предлагаться для загрузки.

Задача

Нужно претворить в жизнь следующую идею. Посетитель загружает обновление, запускает его, указывает папку, где находится базовый файл и по окончании процесса обновления получает новый CHM файл. Очень желательно использовать для решения задачи свободное или бесплатное ПО.

Примерный алгоритм действий

Очевидно, для достижения поставленной задачи необходимо следующее
  1. Декомпилировать имеющийся CHM
  2. Скопировать файлы обновления в папку, где находятся извлеченные из CHM файлы
  3. Скомпилировать CHM заново

Дополнительная информация

Безусловно, необходимо будет выполнить декомпиляцию CHM из командной строки. Это можно осуществить следующим образом:
Код:
HH.EXE -decompile D:/xTemp/decompile-folder C:/xTemp/XMLconvert.chm
Компилируется файл так:
Код:
hhc foobar.hhp
HTMLHelp command-line

Кроме того, нужно предусмотреть возможность возникновения ситуации, в которой пользователь укажет неверный путь к CHM файлу (а также прочие отклонения от алгоритма).

Просьба
Во-первых, нужно оценить жизнеспособность идеи. Не исключено, что она неудачна или просто неосуществима.

Во-вторых, в силу катастрофического недостатка свободного времени, я не могу уделить решению данной задачи достаточно внимания. Я буду очень признателен тем участникам конференции, которые возьмут на себя труд по реализации проекта и подготовят необходимый код (пакетные файлы, конфигурационные файлы 7-zip и т.д. и т.п.).

Я постараюсь ответить на любые вопросы, связанные с проектом. Составлением CHM файла занимается Blast, который также будет участвовать в обсуждении.

Спасибо за внимание!

-------
Автоустановка Windows || Службы Windows Vista || Клуб переводчиков || Блог || Компьютерная Wiki
---
Не оказываю техподдержку в ПМ, через ICQ и по электронной почте - для этого есть форум.
---


Отправлено: 09:31, 26-09-2006 |

 

Пользователь


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

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


Моё мнение, что если юзеру нужно, то он скачает любого рамера файл. А вообще я думаю, что то задумка хороша, но не получится, что при обнове полезут разные баги.

Отправлено: 15:11, 26-09-2006 | | #2 |


(*.*)


Administrator


Сообщения: 16,952
Благодарности: 1,375

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


serotka
Цитата:
вообще я думаю, что то задумка хороша, но не получится, что при обнове полезут разные баги.
Какие баги, например?

-------
Автоустановка Windows || Службы Windows Vista || Клуб переводчиков || Блог || Компьютерная Wiki
---
Не оказываю техподдержку в ПМ, через ICQ и по электронной почте - для этого есть форум.
---


Отправлено: 20:03, 26-09-2006 | | #3 |


Аватара для Boa Soft

Компьютерный шаман


Moderator


Сообщения: 2,067
Благодарности: 528

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


Vadikan

В принципе, пакет для компиляции CHM распрастраняется MS свободно.

Алгоритм может быть простым. Декомпиляция в папку, добавление изменений и нового сценария пректа, компиляция.

Если могут возникнуть проблемы с распрастранением утилиты от MS, то можно просто дать ссылку на закачку. Около 1 mb.

А на счет багов - есть md5 для проверки верности исходных файлов перед компиляцией.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 21:48, 26-09-2006 | | #4 |


Relentless


Administrator


Сообщения: 20,671
Благодарности: 1,976

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


Boa Soft
ну в принципе компиляция/декомпиляция будет ведь производиться через hh.exe который присутствует в системе по умолчанию (Windows XP), то есть по идее сложностей с этим не должно возникнуть.
Вопрос скорее в том как и чем проконтролировать наличие исходного файла chm в указанной пользователем директории, ну и потом проверка нормально ли файл был декомпилирован (проверка по кол-ву файлов/каталогов) и компиляция в ту же папку на которую указывал пользователь с перезаписью лежащего там исходного chm
если это осуществимо конечно...

-------
Блог
-------


Отправлено: 21:57, 26-09-2006 | | #5 |


Аватара для Boa Soft

Компьютерный шаман


Moderator


Сообщения: 2,067
Благодарности: 528

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


Blast
Цитата:
Вопрос скорее в том как и чем проконтролировать наличие исходного файла chm в указанной пользователем директории, ну и потом проверка нормально ли файл был декомпилирован (проверка по кол-ву файлов/каталогов) и компиляция в ту же папку на которую указывал пользователь с перезаписью лежащего там исходного chm
если это осуществимо конечно...
IF [NOT] EXIST имя_файла команда

Dir, Findstr

Можно и утилитку написать. Для общего блага нежалко и времени потратить.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 22:18, 26-09-2006 | | #6 |


(*.*)


Administrator


Сообщения: 16,952
Благодарности: 1,375

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


Boa Soft
Да в общем-то команды все известны, нужно просто все вместе сложить

Кстати, есть еще такой момент. Допустим, к базовому файлу уже выпущено N обновлений, каждое из которых можно скачать по отдельности и обновить им CHM. Пользователь их все загружает, и что - N раз будет проходить процесс декомпиляции/компиляции? Получается не очень изящно...

-------
Автоустановка Windows || Службы Windows Vista || Клуб переводчиков || Блог || Компьютерная Wiki
---
Не оказываю техподдержку в ПМ, через ICQ и по электронной почте - для этого есть форум.
---


Отправлено: 00:55, 27-09-2006 | | #7 |


Аватара для Boa Soft

Компьютерный шаман


Moderator


Сообщения: 2,067
Благодарности: 528

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


Цитата:
Кстати, есть еще такой момент. Допустим, к базовому файлу уже выпущено N обновлений, каждое из которых можно скачать по отдельности и обновить им CHM. Пользователь их все загружает, и что - N раз будет проходить процесс декомпиляции/компиляции? Получается не очень изящно...
Нет, не нужно. Скачать. Распаковать в порядке возрастания в папку. Применить патч. За один проход.

-------
Человеческая лень - главная движущая сила технического прогресса.


Отправлено: 03:25, 27-09-2006 | | #8 |


(*.*)


Administrator


Сообщения: 16,952
Благодарности: 1,375

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


Boa Soft
Тогда получается такая картина: обновления будут распространяться в архивах, а утилита/скрипт для обновления не будет входить в их состав, но будут предлагаться для загрузки отдельно. Я правильно понимаю?

Тогда учитывая то, что в каждом обновлении должен находиться файл проекта (*.HHP), на пользователя возлагается задача распаковки архивов в правильном порядке (иначе новый файл проекта может оказаться перезаписан более старым). Тогда уж надо каждое обновление в свою папку распаковывать, но это может усложнить скрипт обновления.

-------
Автоустановка Windows || Службы Windows Vista || Клуб переводчиков || Блог || Компьютерная Wiki
---
Не оказываю техподдержку в ПМ, через ICQ и по электронной почте - для этого есть форум.
---


Отправлено: 03:48, 27-09-2006 | | #9 |


Пользователь


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

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


Vadikan
PHP код:
Какие багинапример
При обновлении CHM. Скрипт может испортить CHM, я конечно понимаю, что скрипт будет протестирован, но при многократном обновлении как и в UpdatePack-XPSP2-Rus иногда может появится баг.

Отправлено: 08:12, 27-09-2006 | | #10 |



Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Vista » Инфо - [техзадание] Распространение обновления для CHM файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено




 
Переход



Реклама на форуме OSzone.net


 

Часовой пояс GMT +4. Сейчас 09:09.
© OSzone.net 2001-2008

Powered by: vBulletin
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

Designed by Ginger

Rambler's Top100