CHM компилируется нормально, но не открывается

Я использую программу, которая выплевывает проекты HTML и hhp, содержащие данные из моих баз данных. Затем я компилирую этот hhp с помощью компилятора справки Microsoft HTML (hhc.exe).

Это работает хорошо, но, к сожалению, для немногих проектов, hhc компилируется нормально, но файл chm непригоден для использования. Он сообщает: "Не удается открыть файл: mk:@MSITStore: FileName"

У меня нет проблем с другими файлами CHM в моей системе. У меня нет проблем с другими чм я компилирую. Если я удалю несколько тем из моего проекта, созданный файл снова будет работать. Неважно, какие темы я удаляю. Файлы, которые не работают, почти в два раза больше, чем файлы, которые работают, даже если html и файл проекта почти одинаковы (очень мало изменений), что заставляет меня думать, что сжатие завершается неудачно, если размер или структура какого-либо файла не существует. Т верно.

У кого-нибудь есть такой опыт, и в чем может быть причина? Для тех, кто хочет увидеть пример, этот проект будет компилироваться и работать нормально:

Рабочий проект CHM

А этот компилируется, но не открывается:

Хм, что не удается

4 ответа

Я испытал ту же проблему. CHM был в два раза больше обычного размера и не мог быть открыт. Компилятор CHM не сообщил об ошибке. Удаление любого случайного HTML-файла позволило открыть CHM. В тот же день я произвел много других МП, и все остальные были в порядке.

Я работал над этой проблемой следующим образом:

  1. Я добавил очень маленький HTML-файл в проект. Это копия одного из других файлов в проекте, поэтому, если пользователь обнаружит его в поиске, это не повредит.
  2. Я ввел имя файла в HHP.
  3. Я перекомпилировал проект в компиляторе CHM.

CHM сжался до нормального размера, и он открывается нормально.

У меня была точно такая же проблема, и я могу сказать, что все зависит от размера и, скорее всего, ошибка в модуле сжатия hhc.

Когда я добавил несколько строк документации, размер CHM-файла увеличился с 1,6 до 3,1 МБ, и он больше не мог быть открыт.

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

Поэтому я написал дополнительную документацию, добавил ее в проект, и все снова было хорошо.

Я вижу 0 байтовых файлов на входе? Может быть, компилятор не может справиться с этим?

Есть несколько причин, по которым может произойти сбой компилятора MS HH.

(1) Неверные имена файлов, файл и файл Компилятору справки HTML не нравятся некоторые имена файлов, например пробелы в имени файла могут по-прежнему вызывать некоторые незначительные проблемы с помощью справки HTML. Лучше всего заменить пробелы подчеркиванием. Избегайте "#" в именах файлов и папок. Попробуйте придерживаться этих символов _, a..z, A..Z, 0..9.

Не используйте периоды отдельно от обычного расширения файла. Пример: имя файла, такое как xxx.h001.gif, неправильно определено как файл HTML. Затем компилятор пытается проанализировать двоичный файл и вылетает. Не используйте имена файлов или папок, содержащие ".chm".

(2) Избегайте компиляции на сетевом диске и попробуйте скомпилировать на локальном диске.

(3) Используйте диагностику справки MJ, чтобы убедиться, что все компоненты средства просмотра справки правильно установлены и зарегистрированы.

http://helpware.net/downloads/

(4) Удалите файл "hh.dat", который вы должны найти в этом подкаталоге:

\ Documents and Settings \% username% \ Application Data \ Microsoft \ HTML Help

Этот файл хранит информацию обо всех файлах справки HTML в вашей системе (избранное, размер и положение окна и т. Д.) И может привести к неправильной работе файлов, если они каким-либо образом были повреждены.

(5) Вам необходимо отладить свою справочную систему. Вам необходимо определить файлы, которые вызывают сбой компилятора.

Обычно я удаляю разделы сети, переименовывая или перемещая папки и файлы, а затем перекомпилирую. Продолжайте добавлять и удалять разделы, пока компилятор не выйдет из строя. В конце концов вы найдете один или два файла, которые вызывают проблему. Вам также может понадобиться отладить эти файлы, временно удалив разделы HTML-файла.

Другие вопросы по тегам