【转载】解决CHM帮助文件无法从网络共享位置上直接打开的问题的方法

2023-02-12,,,

近日在内网共享了些书籍,但发现其中的.chm文件竟然无法正常打开,而文件百分百是正常的..

症状:
无法从网上邻居的共享位置上直接打开.chm文件.
从网络共享位置上打开.chm文件,显示为空白或运行不正常,而文件本身是正常的,复制到本地打开就可正常显示,而在网络邻居上则不能.

原因:
Microsoft 公司发布的HTML帮助的安全补丁,将HTML的安全设置提高,默认将禁止非本机HTML帮助文件中控件的访问,以保护计算机安全.

解决方法
1.复制CHM文件到本机打开.

2.参阅后文说明中的方法编辑注册表.

3.或者,直接运行下面的命令【管理员身份运行】:
reg add HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /v MaxAllowedZone /t REG_DWORD /d 1 /f

4.或者,用记事本复制粘贴下面内容(=等号框起部分,不含等号),并存为"chm_on.reg"(含双引号),双击导入.
===========================
REGEDIT4

;允许在安装了HTML帮助补丁的计算机上查看共享位置(本地局域网)上的HTML帮助(CHM)文件
;详细信息参阅下面微软知识库:
;----------------------
;Microsoft 安全公告 MS06-046 HTML 帮助中的漏洞可能允许远程执行代码 (922616)
;http://www.microsoft.com/china/technet/Security/bulletin/ms06-046.mspx
;无法在安装安全更新 896358、安全更新 840315 或 Windows Server 2003 Service Pack 1 后使用 InfoTech 协议打开远程内容
;http://support.microsoft.com/kb/896054/zh-cn
;----------------------
;手工开启方法,直接运行下面命令(无注释分号):
;reg add HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /v MaxAllowedZone /t REG_DWORD /d 1 /f
;手工关闭方法(恢复默认),直接运行下面命令(无注释分号):
;reg delete HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /f
;----------------------
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001

;                                   mencall/门口 2007.1
===========================

撤消修改(恢复默认)
删除相应注册表键值或直接运行下面命令:
reg delete HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /f

或者,用记事本复制粘贴下面内容(=等号框起部分,不含等号),并存为"chm_off.reg"(含双引号),双击导入.
===========================
REGEDIT4

;禁止在安装了HTML帮助补丁的计算机上查看共享位置(本地局域网)上的HTML帮助(CHM)文件(恢复系统默认)
;详细信息参阅下面微软知识库:
;----------------------
;Microsoft 安全公告 MS06-046 HTML 帮助中的漏洞可能允许远程执行代码 (922616)
;http://www.microsoft.com/china/technet/Security/bulletin/ms06-046.mspx
;无法在安装安全更新 896358、安全更新 840315 或 Windows Server 2003 Service Pack 1 后使用 InfoTech 协议打开远程内容
;http://support.microsoft.com/kb/896054/zh-cn
;----------------------
;手工开启方法,直接运行下面命令(无注释分号):
;reg add HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /v MaxAllowedZone /t REG_DWORD /d 1 /f
;手工关闭方法(恢复默认),直接运行下面命令(无注释分号):
;reg delete HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /f
;----------------------
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]

;                                   mencall/门口 2007.1
===========================
-----------------------------------------------
资料参考(摘选):
Microsoft 安全公告 MS06-046
HTML 帮助中的漏洞可能允许远程执行代码 (922616)
http://www.microsoft.com/china/technet/Security/bulletin/ms06-046.mspx
--------------------------
什么是 Internet Explorer 增强安全配置?
Internet Explorer 增强安全配置是一组预先配置的 Internet Explorer 设置,可以降低用户或管理员在服务器上下载并运行特制 Web 内容的可能性。 Internet Explorer 增强安全配置通过修改许多与安全有关的设置降低此风险。 这些设置包括“Internet 选项”对话框中的“安全”和“高级”选项卡设置。 一些重要的修改包括:
·将 Internet 区域的安全级别设置为“高”。 这种设置将禁用脚本、ActiveX 控件、Microsoft Java 虚拟机 (MSJVM) 和文件下载。
·禁止自动检测 Intranet 站点。 此设置将本地 Intranet 区域中未显式列出的所有 Intranet 网站和所有通用命名约定 (UNC) 路径都分配给 Internet 区域。
·禁用了即需即装和非 Microsoft 浏览器扩展。 此设置禁止网页自动安装组件,并禁止运行非 Microsoft 扩展。
·禁用多媒体内容。 此设置禁止播放音乐、动画和视频剪辑。
--------------------------
是否可以让受信任的 HTML 帮助内容进入“本地计算机”区域?
是。 您可以让受信任的 HTML 帮助内容进入“本地计算机”区域。 您可以允许特定站点或安全区域使用 HTML 帮助内容。 由此,创建以下两个或其中一个注册表项。
警告 在执行此操作的过程中,请小心谨慎,并且只能允许您信任的站点和安全区域。
警告 如果不正确地使用注册表编辑器,可能导致严重的问题,或许需要您重新安装操作系统。 Microsoft 不保证您可以解决因错误运用注册表编辑器而产生的问题。 使用注册表编辑器的风险由您自己承担。
--------------------------
要允许特定站点使用 HTML 帮助内容:
1.单击“开始”,单击“运行”,在“打开”框中键入 Regedit,然后单击“确定”。
2.找到然后单击下列注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x
注意 如果此注册表子项不存在,则创建它。
3.在“编辑”菜单中,指向“新建”,单后单击“项”。
4.键入“HHRestrictions”,然后按 Enter 键。
5.右键单击“HHRestrictions”子项,指向“新建”,然后单击“字串值”。
6.键入“UrlAllowList”,然后按 Enter。
7.右键单击“UrlAllowList”值,然后单击“修改”。
8.在“数值数据”字段中添加使用分号分隔的 URL 前缀列表,然后按 Enter。
例如,“http://www.wingtiptoys.com/help/helpdocuments;http://myintranetapplication/help/helpfiles”(不带引号)。
注意 此注册表值的“数值数据”字段默认情况下为空。
--------------------------
要允许特定区域中的所有站点使用 HTML 帮助内容:
1.单击“开始”,单击“运行”,在“打开”框中键入 Regedit,然后单击“确定”。
2.找到然后单击下列注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x
注意 如果此注册表子项不存在,则创建它。
3.在“编辑”菜单中,指向“新建”,单后单击“项”。
4.键入“HHRestrictions”,然后按 Enter 键。
5.右键单击“HHRestrictions”子项,指向“新建”,然后单击“双字节值”。
6.键入“MaxAllowedZone”,然后按 Enter。
7.右键单击“MaxAllowedZone”值,然后单击“修改”。
8.将“数值数据”字段中的值更改为 0 至 4 之间的数字,然后按 Enter。

注意 此注册表值的“数值数据”字段默认情况下设置为 0(零)。 请参阅下表,它概述了要说明的不同值。
MaxAllowedZone 本地计算机 本地 Intranet 受信任的站点 Internet 受限制的站点 
0 允许 阻止 阻止 阻止 阻止
1 允许 允许 阻止 阻止 阻止
2 允许 允许 允许 阻止 阻止
3 允许 允许 允许 允许 允许
4 允许 允许 允许 允许 允许
-----------------------------------------------
无法在安装安全更新 896358、安全更新 840315 或 Windows Server 2003 Service Pack 1 后使用 InfoTech 协议打开远程内容
http://support.microsoft.com/kb/896054/zh-cn
症状
安装安全更新 896358、安全更新 840315 或 Windows Server 2003 Service Pack 1 (SP1) 后,您可能会遇到以下症状:
·如果已安装安全更新 896358 或 Windows Server 2003 SP1,则可能会遇到以下症状:
·计算机上某些 Web 应用程序的功能不再起作用。例如,单击某个链接后可能不会显示主题。 
·尝试使用通用命名约定 (UNC) 路径打开网络共享文件夹上的已编译帮助模块文件(.chm 文件)时,不显示 .chm 文件中的主题。 
·如果已安装安全更新 840315,则计算机上在 URL 中的 InfoTech 协议内嵌套协议的 Web 应用程序无法正常运行。 

原因
Windows Server 2003 SP1 及安全更新 896358 和 840315 中包括对 InfoTech 协议的更改。引入这些更改的目的是为了减少 HTML 帮助中的安全漏洞。

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

注意 此注册表值的“数值数据”字段默认情况下设置为 0(零)。 请参阅下表,它概述了要说明的不同值。
MaxAllowedZone 本地计算机 本地 Intranet 受信任的站点 Internet 受限制的站点 
0 允许 阻止 阻止 阻止 阻止
1 允许 允许 阻止 阻止 阻止
2 允许 允许 允许 阻止 阻止
3 允许 允许 允许 允许 允许
4 允许 允许 允许 允许 允许
下面的 .reg 文件(等号框起部分)重新启用 InfoTech 协议,以连接到 Intranet 区域中的所有系统。
===========================
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001

===========================

有关 InfoTech 协议的更多信息
InfoTech 协议主要由 HTML 帮助使用。此协议的功能由 Itss.dll 文件提供。可使用下列受支持方案中的一种访问此协议:
·Ms-its 
·Its 
·Mk:@msitstore 
-----------------------------------------------
MS05-026:HTML 帮助中的漏洞可能允许远程执行代码
http://support.microsoft.com/kb/896358/zh-cn
(内容略,请自行查看)

转载】解决CHM帮助文件无法从网络共享位置上直接打开的问题的方法的相关教程结束。

《【转载】解决CHM帮助文件无法从网络共享位置上直接打开的问题的方法.doc》

下载本文的Word格式文档,以方便收藏与打印。