我使用的程序会扫出包含数据库中数据的HTML和hhp项目。 然后我使用Microsoft HTML帮助编译器(hhc.exe)编译该hhp。
它运行良好,但不幸的是,对于很少的项目,hhc编译很好,但chm文件无法使用。 它报告“无法打开文件:mk:@MSITStore:FileName”
我的系统上的其他chm文件没问题。我编译的其他chm没问题。如果我从我的项目中删除了几个主题,生成的文件再次起作我删除的主题无关紧要。不起作用的文件几乎是工作文件大小的两倍,即使html和项目文件几乎相同(很少更改),这导致我认为如果某个文件的大小或结构不是静默的,压缩会失败。对。
有没有人有这样的经历,可能是什么原因? 对于那些想要查看示例的人来说,这个项目将编译并正常工作:
这个编译但无法打开:
答案 0 :(得分:2)
我遇到了同样的问题。 CHM是通常尺寸的两倍,无法打开。 CHM编译器未报告任何错误。删除任何启用CHM的随机HTML文件。我在同一天生成了许多其他的CHM,其他所有的都很好。
我通过以下方式解决了这个问题:
CHM缩小到正常大小,并且正常打开。
答案 1 :(得分:1)
我遇到了完全相同的问题,可以说这只是一个大小问题,很可能是hhc压缩模块中的错误。
当我添加一些文档时,CHM文件的大小从1.6增加到3.1 MB,无法再打开。
此问题不仅可以通过删除文件来修复,还可以通过添加文件来解决。
所以我写了一些额外的文档,将它添加到项目中,一切都很好。
答案 2 :(得分:0)
MS HH编译器崩溃的原因有很多。
(1)无效的文件名文件和文件 HTML帮助编译器不喜欢某些文件名,例如文件名中的空格仍然可能会导致HTML帮助出现一些小问题。最好用下划线替换空格。避免使用文件和文件夹名称中的“#”。 尝试并坚持使用这些字符_,a..z,A..Z,0..9。
请勿在正常文件扩展名中使用句点。示例:诸如xxx.h001.gif之类的文件名被错误地标识为HTML文件。然后编译器尝试解析二进制文件并崩溃。 不要使用包含“.chm”的文件或文件夹名称。
(2)避免编译网络驱动器并尝试在本地驱动器上编译。
(3)使用MJ的帮助诊断程序确保正确安装和注册所有帮助查看器组件。
http://helpware.net/downloads/#MJs
(4)删除你应该在这个子目录中找到的文件“hh.dat”:
\ Documents and Settings \%username%\ Application Data \ Microsoft \ HTML Help
此文件存储有关系统上所有HTML帮助文件的信息(收藏夹,窗口大小和位置等),如果文件以某种方式损坏,可能会导致文件出现异常。
(5)您需要调试帮助系统。您需要识别导致编译器崩溃的文件。
我通常会通过重命名或移动文件夹和文件来删除网页的各个部分,然后重新编译。继续添加和删除部分,直到编译器不崩溃。最终,您将找到导致问题的一个或两个文件。您可能还需要通过临时删除HTML文件的各个部分来调试这些文件。
答案 3 :(得分:0)
我在输入中看到0字节文件?也许编译器无法处理它?</ p>