三转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  ,如需转载请自行联系原作者


相关文章
|
4月前
|
Java Shell Linux
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
103 0
|
5月前
|
Java Linux Maven
JAR文件可能已经损坏或无法正确打开
JAR文件可能已经损坏或无法正确打开
85 1
|
8月前
|
存储
水滴文件打包上传报错【解决方法】
水滴文件打包上传报错【解决方法】
60 0
|
11月前
|
Windows
【亲测有效】记录一次Office无法正常和启动报错信息及解决办法
【亲测有效】记录一次Office无法正常和启动报错信息及解决办法
|
11月前
|
Windows
win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
808 0
Redmine系统通过bug号解析页面内容及下载附件
Redmine系统通过bug号解析页面内容及下载附件
93 0
|
Windows
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
415 0
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
好工具推荐系列:写个.bat批处理脚本,实现一键删除VC++目录下的临时文件
好工具推荐系列:写个.bat批处理脚本,实现一键删除VC++目录下的临时文件
132 0

热门文章

最新文章