开发者社区> 技术小甜> 正文

三转CHM文件故障解决

简介:
+关注继续查看
1.如果Chm文件为Download而来,在文件上点右键,属性,常规,解除锁定。
如果不行,尝试下面这个办法:
要修改 ItssRestrictions 注册表项以启用特定的安全区域,请按照下列步骤操作: 1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。 
2. 找到并单击下面的子项: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions
注意:如果该注册表子项不存在,则创建该子项。 
3. 右键单击“ItssRestrictions”子项,指向“新建”,然后单击“DWORD 值”。 
4. 键入 MaxAllowedZone,然后按 Enter 键。 
5. 右键单击“MaxAllowedZone”值,然后单击“修改”。 
6. 在“数值数据”框中,键入 0 至 4 之间的一个数字,然后单击“确定”。 
7. 退出注册表编辑器。 
注意:默认情况下,“MaxAllowedZone”值设置为 0。下表摘要列出了“MaxAllowedZone”值对各个项的解释。
MaxAllowedZone 本地计算机区域 本地Intranet 区域 受信任的站点区域 Internet 区域 受限站点区域 
0 允许 阻止 阻止 阻止 阻止 
1 允许 允许 阻止 阻止 阻止 
2 允许 允许 允许 阻止 阻止 
3 允许 允许 允许 允许 阻止 
4 允许 允许 允许 允许 允许

转:[url]http://bbs.pcworld.com.cn/viewthread.php?tid=13984[/url]

当 CHM 文件打不开的时候

小知识: CHM 意为 Compiled HTML。以CHM为扩展名的文件图标通常为一个带问号的文档图标,表示帮助文档,是 Microsoft 自 Windows 98 以来提供的一种帮助文档格式的文件,用于替代 Windows 95 下的 HLP(Help) 文件。Microsoft 自 Windows 98 以来,操作系统中都自带解释器(打开 CHM 文件的工具),即 Windows 安装目录下的 HH.EXE。CHM 文件可以通过官方免费提供了 HTML Help Workshop 生成,它的源文件是 HTML 文件。现在网络上很多电子书籍都被制作成 CHM 格式。

------------------------------------------------------------------
前几天想打开一本 CHM 格式的电子书,查点东西,没想到,打开的窗口里竟然提示不能打开页面。因为一直很少用帮助,所以也不知道是什么时候开始出现了这个问题的。因为没时间去考虑,所以先在网上查了资料,把这个问题放下了。

今天又一次打开某 CHM 文档的时候,发生了同样的问题。这次有时间。试了一下,几乎所有 CHM 文件都打不开了。看样子是打开过程(指的是系统中的操作过程,非人为操作过程)中的某个关键步骤出了问题。

CHM 的实质是通过几个特殊的协议访问压缩存在在 CHM 文件中的网页。所以,我估计可能是防火墙有鬼。于是把防火墙统统仔细检查了一遍,没有限制 CHM 文件打读取。关闭所有防火墙,CHM 仍然不能正常阅读。

也许是 HH.EXE 所必需的某个组件出了问题。但是不知道 HH.EXE 会用到些什么组件,所以上网查了一下,有人建议重新注册 hhctrl.dll。我在系统目录下找到了 hhctrl.ocx,没有找到 hhctrl.dll。就当是网上写错了,重新注册一下 hhctrl.ocx 试试:regsvr32 hhctrl.ocx。依然不能正常阅读 CHM。

既然如此,很有可能是协议出了问题。HH.EXE 用的是 ms-its 等协议,这些协议应该是由某个 DLL 文件提供服务的。问题是,是什么 DLL 呢?于是再用 Google 搜索 ms-its 协议。终于找到了,原来是一个 itss.dll 在做服务。不过网上查到的解决方案是修改注册表。看着那一堆注册表项就头痛,还是先试试偷懒的办法吧——重新注册DLL:regsvr32 itss.dll

再试,嘿,好了,CHM 又可以正常打开了。

至于 CHM 不能打开的原因,据网上说,多半是因为 Microsoft 最近修复的一个关于 HTML Help 的漏洞有关系。不过我机器上的状况不太符合特征,管它呢,反正我又能阅读 CHM 了
 

转:[url]http://support.microsoft.com/kb/892675[/url]

安装安全更新 896358 或 890175 后,某些网站和 HTML 帮助功能可能无法运作

文章编号 : 892675
最后修改 : 2006年6月22日
修订 : 10.1
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 ([url]http://support.microsoft.com/kb/256986/[/url]) Microsoft Windows 注册表说明

症状

安装安全更新 896358 或 890175 后,可能会遇到下列一个或多个症状:
某些类型的基于 Web 的程序可能无法正常运行。例如,HTML 帮助中的目录可能不再起作用。
从远程位置打开 .chm 文件时,某些 HTML 帮助功能可能不起作用。例如,“相关主题”功能可能不起作用。
注意:本文包含以下 Microsoft 知识库文章的补充信息:
896358 ([url]http://support.microsoft.com/kb/896358/[/url]) MS05-026:HTML 帮助中的漏洞可能允许远程执行代码
890175 ([url]http://support.microsoft.com/kb/890175/[/url]) MS05-001:HTML 帮助中的漏洞可能允许代码执行

原因

之所以出现此问题,原因是安全更新 896358 和 890175 会阻止本地计算机区域以外的 HTML 内容创建 HTML 帮助 ActiveX 控件 (HHCTRL) 的实例。引入此更改的目的是为了减少 HTML 帮助中的安全漏洞。

解决方案

警告:安装这些安全更新后会出现这些症状是预料之中的。本节为必须对关键业务程序重新启用 HTML 帮助 ActiveX 控件的管理员提供了一些示例。这些替代方法可能会危及计算机,使之更容易遭受上述安全更新所克制的威胁。最安全的做法是不要使用注册表替代方法。如果必须使用替代方法,请尽可能严格地设置注册表值。

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

下面的第一个示例是限制性最强的。后面几个示例的限制性相继减弱。

示例 1:使用 URLAllowList 项启用特定 URL

警告:应只包括受信任网站的 URL。

本示例中的 .reg 文件使得在以下远程内容中能够重新承载 HTML 帮助 ActiveX 控件:
位于 \\productmanuals\helpfiles 文件夹中的所有 .chm 文件
位于 [url]http://www.wingtiptoys.com/help[/url] 中的 Web 应用程序。
将以下文本粘贴到文本编辑器(如记事本)中。然后用 .reg 文件扩展名保存该文件。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"UrlAllowList"="\\\\productmanuals\\helpfiles;[url]http://www.wingtiptoys.com/help/[/url]"
不能在添加到 UrlAllowList 注册表项的任何网站的 URL 字符串中使用通配符。例如,不能使用以下 URL 字符串:
“UrlAllowList"="http://*.wingtiptoys.com”
但可以使用以下 URL 字符串:
“UrlAllowList"="http://help.wingtiptoys.com”
此字符串可使下列网站能够承载 HTML 帮助 ActiveX 控件:
[url]http://help.wingtiptoys.com/research[/url]
[url]http://help.wingtiptoys.com/sales[/url]

示例 2:使用 MaxAllowedZone 项启用安全区域

警告:MaxAllowedZone 项会启用特定区域中的所有网站。使用 UrlAllowList 项可能较为安全。如果必须使用 MaxAllowedZone 项,请不要将此值设置得高于所需值。如果将 MaxAllowedZone 值设为 3 或更高,则系统会很容易受到来自 Internet 的攻击。

注意:默认情况下,MaxAllowedZone 项的值设置为 0。下表概述了 MaxAllowedZone 项的值对各个项的解释。
MaxAllowedZone 本地计算机区域 本地 Intranet 区域 受信任的站点区域 Internet 区域 受限站点区域
0 允许 阻止 阻止 阻止 阻止
1 允许 允许 阻止 阻止 阻止
2 允许 允许 允许 阻止 阻止
3 允许 允许 允许 允许 阻止
4 允许 允许 允许 允许 允许
将以下文本粘贴到文本编辑器(如记事本)中。然后用 .reg 文件扩展名保存该文件。该 .reg 文件使 Intranet 区域中的所有内容都能够承载 HTML 帮助 ActiveX 控件。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000001

示例 3:使用 URLAllowList 项和 MaxAllowedZone 项

警告:MaxAllowedZone 项会启用特定区域中的所有网站。使用 UrlAllowList 项可能较为安全。如果必须使用 MaxAllowedZone 项,请不要将此值设置得高于所需值。如果将 MaxAllowedZone 值设为 3 或更高,则系统会很容易受到来自 Internet 的攻击。

将以下文本粘贴到文本编辑器(如记事本)中。然后用 .reg 文件扩展名保存该文件。下面的 .reg 文件可使 Intranet 区域中的所有内容都能够承载 HTML 帮助 ActiveX 控件。此 .reg 文件还可使两个 Internet 网站能够承载该控件。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"UrlAllowList"="http://www.wingtiptoys.com/;[url]http://www.contoso.com/[/url]"

在域中部署注册表项

建议您使用组策略将本文示例中提到的设置部署为启动脚本。也可将这些设置部署为登录脚本。但是,此方法因存在权限约束而不够理想。

以下步骤是一个示例,演示如何将示例 1 中的设置部署为组策略启动脚本。
1. 将以下文本粘贴到文本编辑器(如记事本)中:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"UrlAllowList"="http://myintranetapplication/help/helpfiles;[url]http://www.wingtiptoys.com/help/helpdocuments[/url]"
2. 将该文件保存为 .reg 文件,并将其命名为 AllowTrustedSites.reg。
3. 将以下文本粘贴到文本编辑器(如记事本)中:
REGEDIT.EXE /S AllowTrustedSites.reg
4. 将该文件保存为批处理文件,并将其命名为 AllowTrustedSites.bat。
5. 将该批处理文件导入组策略对象 (GPO) 中。为此,请按照下列步骤操作:
a. 将在步骤 4 中创建的批处理文件和在步骤 2 中创建的 .reg 文件粘贴到 \\DomainName\SysVol\DomainName\Policies\GUID of the selected GPO\Machine\Scripts\Startup 文件夹中。
b. 在要运行该组策略对象的计算机上,单击“开始”,单击“运行”,键入 dsa.msc,然后单击“确定”。
c. 右键单击您的域,然后单击“属性”。
d. 单击“组策略”,然后单击“新建”。
e. 键入要用于该策略的名称,然后按 Enter 键。
f. 单击“编辑”。
g. 依次展开“计算机配置”和“Windows 设置”,然后单击“脚本 (启动/关机)”。
h. 在右窗格中,双击“启动”,然后单击“添加”。
i. 找到并单击在步骤 4 中创建的批处理文件。
j. 单击“添加”。
k. 单击“确定”,单击“是”,然后单击两次“确定”。

更多信息

系统管理员概述和示例

有关安全更新 896358 以及如何重新启用受此更新影响的 Web 应用程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
896358 ([url]http://support.microsoft.com/kb/896358/[/url]) MS05-026:HTML 帮助中的漏洞可能允许远程执行代码

Internet Explorer 安全区域

有关如何在 Internet Explorer 中使用安全区域的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
174360 ([url]http://support.microsoft.com/kb/174360/[/url]) 如何在 Internet Explorer 中使用安全区域

组策略

有关组策略的更多信息,请访问下面的 Microsoft 网站:
组策略集合
[url]http://technet2.microsoft.com/WindowsServer/en/Library/6d7cb788-b31d-4d17-9f1e-b5ddaa6deecd1033.mspx[/url] ([url]http://technet2.microsoft.com/WindowsServer/en/Library/6d7cb788-b31d-4d17-9f1e-b5ddaa6deecd1033.mspx[/url])
什么是组策略对象编辑器?
[url]http://technet2.microsoft.com/WindowsServer/en/Library/47ba1311-6cca-414f-98c9-2d7f99fca8a31033.mspx[/url] ([url]http://technet2.microsoft.com/WindowsServer/en/Library/47ba1311-6cca-414f-98c9-2d7f99fca8a31033.mspx[/url])
核心组策略工具和设置
[url]http://technet2.microsoft.com/WindowsServer/en/Library/e926577a-5619-4912-b5d9-e73d4bdc94911033.mspx[/url] ([url]http://technet2.microsoft.com/WindowsServer/en/Library/e926577a-5619-4912-b5d9-e73d4bdc94911033.mspx[/url])

对基于 x64 的 Microsoft Windows 版本的技术支持

在运行基于 x64 的 Microsoft Windows 版本的计算机上,您可能必须适当地更改“解决方案”一节中关于如何修改注册表的说明。例如,根据要修改 32 位功能还是要修改 64 位功能,您可能需要修改注册表中不同的部分。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
896459 ([url]http://support.microsoft.com/kb/896459/[/url]) 基于 x64 的 Windows Server 2003 版本和 Windows XP Professional x64 Edition 中注册表的更改
硬件制造商为基于 x64 的 Windows 版本提供了技术支持和帮助。硬件制造商提供支持是因为基于 x64 的 Windows 版本是随硬件提供的。您的硬件制造商可能已用独特的组件自定义了 Windows 的安装。独特的组件可能包括特定设备驱动程序,或者包括用于最大程度地发挥硬件性能的可选设置。如果您需要基于 x64 的 Windows 版本的技术帮助,Microsoft 将尽可能提供合理的帮助。但是,您可能必须与制造商直接联系。您的制造商最有资格为安装在您的硬件上的软件提供支持。

有关 Microsoft Windows XP Professional x64 Edition 的产品信息,请访问下面的 Microsoft 网站:
[url]http://www.microsoft.com/china/windowsxp/64bit/default.mspx[/url] ([url]http://www.microsoft.com/china/windowsxp/64bit/default.mspx[/url])
有关基于 x64 的 Microsoft Windows Server 2003 版本的产品信息,请访问下面的 Microsoft 网站:




















本文转自张琦51CTO博客,原文链接:http://blog.51cto.com/zhangqi/60124 ,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
检查库文件的rpath命令
检查库文件的rpath命令
23 0
解决js文件中的变量名冲突的方法
在js文件中会有大量的文件重名,为了避免命名冲突和变量污染,我们必须实行一定的策略
19 0
IDEA 出现问题:IDEA看不到编译后的target文件解决方案
IDEA 出现问题:IDEA看不到编译后的target文件解决方案
37 0
eclipse不能调试某个文件的解决办法
eclipse不能调试某个文件的解决办法
30 0
Attachment assignment block里选择的文件是如何传到Netweaver服务器的
Attachment assignment block里选择的文件是如何传到Netweaver服务器的
26 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18992 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25234 0
修改linux文件权限命令:chmod
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。    文件或目录的访问权限分为只读,只写和可执行三种。
792 0
+关注
10145
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载