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

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

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

(*.*)


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


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

Профиль | Сайт | Отправить 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

 

(*.*)


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

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


Petya V4sechkin
Я протестировал. Все работает, как заявлено Очень удобно!
Цитата:
Как показал тест, это ограничение только для MakeDiffCHM.cmd
Скрипт для конечного пользователя UpdateCHM.cmd этой проблеме не подвержен (проверьте сами, на всякий случай).
К сожалению, получил ошибку
Код: Выделить весь код
Компиляция:
HHC5010: Error: Cannot open "e:\Tools\CHM Updater\╧юы№чютрЄхы№\New\Decompile\club.chm". Compilation stopped. Unable to open New\Decompile\club.hhp.Ошибка при компиляции.

Для продолжения нажмите любую клавишу . . .
когда сменил имя папки с User на Пользователь. XP SP2, MUI, русская локаль.

Это ограничение накладывается hh, как я понимаю - она кириллицу в путях не признает?

Цитата:
Конечно, вы уже посмотрели содержимое скриптов и обратили внимание, например, на то, что MakeDiffCHM.cmd в ходе работы создает временную папку Diff в текущей папке. А перед тем, как создать, удаляет ее без вопросов (если она существовала).
Я на это обратил внимание исключительно визуально. Если бы я умел писать такие скрипты, то тему бы эту не создавал. Может они тебе после апдейтпака легкими кажутся?

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:03, 13-10-2006 | #31



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

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



Moderator


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

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


Vadikan
Цитата:
Это ограничение накладывается hh, как я понимаю - она кириллицу в путях не признает?
Спасибо за проверку.
Да, в данном случае это проблема hhc.exe.
Ему честно передается параметр типа "New\Decompile\club.hhp" (имя с относительным путем), а оно при попытке преобразовать в абсолютный путь (зачем ему это, непонятно) коверкает русские буквы.

Цитата:
Я на это обратил внимание исключительно визуально. Если бы я умел писать такие скрипты, то тему бы эту не создавал. Может они тебе после апдейтпака легкими кажутся? :)
В принципе, скрипты получились довольно компактные, но с MakeDiffCHM.cmd пришлось поломать голову, там такие зубодробительные конструкции типа:
Set V=!V:%CD%\%P2%\=!
(похоже на какие-то страшные ругательства :)

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

Msgina.dll, диалог 2210


Отправлено: 12:45, 13-10-2006 | #32



Administrator


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

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


Цитата:
похоже на какие-то страшные ругательства
заклинание какое-то

Я уже говорил, в принципе не сложно будет обратить внимание в описании апдейта на сайте, что пути с кириллическими символами не поддерживаются

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 15:58, 13-10-2006 | #33



Moderator


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

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


Надо бы еще на разных операционках проверить UpdateCHM.cmd (на 2000, на висте).

Отправлено: 17:59, 13-10-2006 | #34


(*.*)


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

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


Petya V4sechkin
Цитата:
Надо бы еще на разных операционках проверить UpdateCHM.cmd (на 2000
Это я могу на работе проверить.

Вообще, проблема с русскими именами в путях может стать весьма распространной для тех, кто работает в русской Windows и хранит файлы в профиле - имя пользователя вполне может оказаться кириллическим.

А ты keytools не смотрел? Может там нет такой проблемы?

Отправлено: 20:46, 13-10-2006 | #35



Moderator


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

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


Vadikan
Посмотрел keytools, но там только GUI.
Из командной строки можно использовать KeyHH.exe, но оно не предназначено для компиляции/декомпиляции (насколько я понял).

Отправлено: 21:55, 13-10-2006 | #36



Moderator


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

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


Vadikan
Вот, попробовал косметическое изменение - вызов hhc.exe в обрамлении chcp, проверь плиз:
http://tools.oszone.net/V4sechkin/CHM/UpdateCHM.cmd
Не уверен, что это поможет.

У меня с русскими путями патчер работает даже в первом варианте (без chcp), а у тебя почему-то нет :)
Загадка природы, ведь hhc.exe один и тот же...

Отправлено: 14:44, 14-10-2006 | #37


(*.*)


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

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


Petya V4sechkin
Да, я тоже посмотрел keytools. Keyhh даже декомпилировать не может, хотя авторы пишут
Цитата:
KeyHH provides all of the functionality of HH.EXE
Цитата:
http://tools.oszone.net/V4sechkin/CHM/UpdateCHM.cmd
Не уверен, что это поможет
Сначала не помогло. Тогда я полез еще раз в региональные настройки. У меня в Стандарты и форматы английский язык стоит. Поменял на русский и все заработало, включая первый вариант файла. В принципе, я с этим раньше сталкивался, правда в гуи только - SmallCD Writer, например, в меню кракозябры показывает, пока стандарты на русские не сменишь. Еще какие-то программы попадались. Меня это вообще-то раздражает, но процент таких пользователей среди нашей аудитории, скорее всего, невелик. Можно в конце концов в скрипт вставить предупреждение.

Отправлено: 20:31, 14-10-2006 | #38


Аватара для simplix

Silent


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

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


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

Отправлено: 22:25, 14-10-2006 | #39



Moderator


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

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


Vadikan, simplix
Предлагаю с этим не париться и согласиться с Blast'ом (все равно внутрь hhc.exe мы залезть не сможем):
Цитата:
в принципе не сложно будет обратить внимание в описании апдейта на сайте, что пути с кириллическими символами не поддерживаются
Обновил слегка UpdateCHM.cmd (добавил забытый контроль ошибок при распаковке обновлений).
http://tools.oszone.net/V4sechkin/CHM/UpdateCHM.cmd

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



Компьютерный форум 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




 
Переход