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

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

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

(*.*)


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


Конфигурация

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


Изменения
Автор: Vadikan
Дата: 26-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 11, etc | Чат @winsiders


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

 

(*.*)


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

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


serotka
Ну на такие баги все можно списать. У некоторых, например, CHM вообще не запускаются

-------
Канал Windows 11, etc | Чат @winsiders


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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Unter

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


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

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


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

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


Аватара для BeLyI

Старожил


Автор проектов


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

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


Я думаю надо все статьи разбить на группы по сходной тематике и создать базовый chm с этими группами в содержании. И выпускать обновления по 3-10 статей в зависимости от обстоятельств (размера, схожести и т.д.), файл содержиния не заменять а дополнять. Обновления не должны зависить друг от друга. И в конечном итоге у каждого пользователя на компьютере будет свой файл chm с интересующими только его статьями, без лишних для него статей.
И не плохо было бы такой подход применить к оффлайн версии "Автоматическая установка Windows", потому что статьи из раздела Новичку и некоторых других в принципе не интересуют, а файл chm хотелось бы иметь на компьютере под рукой.

-------
Хочешь сказать спасибо? Жми на ссылку "Полезное сообщение", и все будут довольны!


Отправлено: 15:43, 27-09-2006 | #13


Аватара для Vovchick1

Старожил


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

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


Vadikan
Цитата:
Очевидно, для достижения поставленной задачи необходимо следующее

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

Отправлено: 17:04, 27-09-2006 | #14


(*.*)


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

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


Unter
Цитата:
Можно в имени файла проекта указывать идентификационный номер, а скрипт будет его обрабатывать в порядке нумерации.
Хорошая идея, но я как-то не могу сходу представить ее техническую реализацию.

BeLyI
Цитата:
Я думаю надо все статьи разбить на группы по сходной тематике и создать базовый chm с этими группами в содержании. И выпускать обновления по 3-10 статей в зависимости от обстоятельств (размера, схожести и т.д.), файл содержиния не заменять а дополнять.
Слишком много работы по обслуживанию и созданию CHM файла. Обновления планируется выпускать раз в месяц, а дробить их по тематике и для каждой тематики делать отдельное обновление - это уже черезчур. Однако, если есть желающие этим заниматься - милости прошу
Цитата:
И не плохо было бы такой подход применить к оффлайн версии "Автоматическая установка Windows", потому что статьи из раздела Новичку и некоторых других в принципе не интересуют, а файл chm хотелось бы иметь на компьютере под рукой.
Возможно, аналогичная модель будет применена в будущем и к учебнику АУ. Но во-первых, нужно сначала решить задачу с данным CHM, а во-вторых размер учебника АУ относительно невелик и попоплняется он не так уж часто.
Vovchick1
Цитата:
Ещё может случиться что при выполнении декоппиляции имеющегося CHM (или копирования файлов обновления в папку), нехватит места на диске!!!
Да, такое тоже возможно. Можно указать это в системных требованиях

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 17:45, 27-09-2006 | #15


Аватара для XXXler

Ветеран


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

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


Vadikan, варианты с полностью автоматическим обновлением (вплоть до скачивания скриптом файлов из инета) рассматриваются?

Отправлено: 23:16, 27-09-2006 | #16


(*.*)


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

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


XXXler
Интересная идея, но думаю, что это уже чрезчур Это все-таки не программа Обновления скорее всего будут размещаться на soft.oszone.net, а не на некой статичной странице. Так что проверить их наличие может быть затруднительно.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 19:48, 28-09-2006 | #17


Аватара для Unter

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


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

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


Цитата:
Цитата:
Можно в имени файла проекта указывать идентификационный номер, а скрипт будет его обрабатывать в порядке нумерации.
Хорошая идея, но я как-то не могу сходу представить ее техническую реализацию.
Сложность может возникнуть только с определением установленных апдейтов: где хранить информацию в реестре или еще где нибудь, а в обновления можно вкладывать сопроводиловку с которой и будет сравниваться. Это в том случае если все апдейты необходимо обрабатывать в порядке выпуска, а если порядок не важен, то еще проще.
А вообще командный процессор в NT-шках позволяет многое сделать. Я как-то извращался даже на тему сравнения даты файлов с определенной датой. В крайнем случае можно использовать скрипты. Правда я сейчас до конца октября в отпуске, поэтому заходить на форум буду редко.

Последний раз редактировалось Unter, 30-09-2006 в 03:30.


Отправлено: 02:54, 30-09-2006 | #18



Moderator


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

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


Vadikan
Собственно, а где hhp-файл? Проект для компиляции?

-------
«Компьютеру стало совсем худо, и он решил прекратить свои страдания».

Msgina.dll, диалог 2210


Отправлено: 09:21, 30-09-2006 | #19


(*.*)


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

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


Petya V4sechkin
Сорри, я не предоставил никаких файлов сразу. Вообще, в результате декомпиляции файл проекта не образуется. http://tools.oszone.net/Vadikan/files/chm_stuff.rar (в архиве файл проекта и hhc.exe) HHP-файл имеет формат, аналогичный INI-файлам.

P.S. Помимо файлов проекта каждый раз будут изменяться также club.html (главная страница), Table of Contents.hhc (содержание), club.hpp (файл проекта) и возможно index.hhk (указатель, он пока не сделан).

Последний раз редактировалось Vadikan, 02-10-2006 в 07:41.


Отправлено: 04:19, 02-10-2006 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Распространение файла реестра на компьютеры в домене admiForever Microsoft Windows NT/2000/2003 15 19-12-2009 11:39
Доступ - Отображение CHM-файла с сетевого диска Gangabass Microsoft Windows Vista 3 30-06-2008 07:40
Проблема копирования файла addremov.chm после интеграции SP2 -Fred- Автоматическая установка Windows 2000/XP/2003 3 20-02-2007 16:25
кодировка файла CHM WChek Программирование и базы данных 1 25-01-2007 21:33
Открытие CHM-файла в полноэкранном режиме Dj_Fly Программное обеспечение Windows 15 09-12-2006 09:21




 
Переход