近日在内网共享了些书籍,但发现其中的.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帮助文件无法从网络共享位置上直接打开的问题的方法的更多相关文章

  1. 解决win7无法打开chm格式文件的问题

    解决win7无法打开chm格式文件的问题. (一).简单方法(本人用的这个) 1.打开chm2.win7提示安全问题3.chm无法显示内容4.关闭chm5.右键点击chm,点击“解除锁定”,ok  没 ...

  2. chm文件转换成html文件,解决chm文件无法使用浏览器打开的问题

    每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”.CHM ...

  3. <<< chm格式文件打不开及一些问题

    CHM 意为 Compiled HTML.以CHM为扩展名的文件图标通常为一个带问号的文档图标,表示帮助文档,是 Microsoft 自 Windows 98 以来提供的一种帮助文档格式的文件,用于替 ...

  4. 详解rsync算法--如何减少同步文件时的网络传输量

    先看下图中的场景,客户端A和B,以及服务器server都保存了同一个文件,最初,A.B和server上的文件内容都是相同的(记为File.1).某一时刻,B修改了文件内容,上传到SERVER上(记为F ...

  5. 解决Windows 10 1803 April 2018 Updatete不能网络共享的问题

    Windows 10升级到1803后便不能网络共享了,现在我用的是Widnows 10 1809 Oct 2018 Update依然存在这个问题. 为了能够共享文件和文件夹需要去windows ser ...

  6. C# 如何生成CHM帮助文件

    原文:C# 如何生成CHM帮助文件 前一段时间应公司要求,让我开发一个数据库字段信息CHM帮助文件生成软件.结果当时我就二了,这个东西我只用过,不知道咋做啊.没想到老大很随意说一句:"没事, ...

  7. .xlsx文件总是默认用2007 Microsoft Office component 打开,且无法更改用EXCEL打开的解决方法

    之前装了OFFICE2003,后来改装了 OFFICE2007,之后XLSX文件双击总是用2007 Microsoft Office component 打开,导致无法打开. 解决方法: 打开注册表R ...

  8. 【IntelliJ IDEA】使用idea解决新建jsp文件而找不到jsp文件模版的新建选项

    使用idea解决新建jsp文件而找不到jsp文件模版的新建选项,这样每次创建一个新的jsp文件岂不是很耗时间? 解决办法: 就是要让idea知道你需要在这个目录下创建jsp文件 左上角,file中点击 ...

  9. 解决linux删除文件后空间没有释放问题

    linux删除文件后沒有释放空间 今天发现一台服务器的home空间满了,于是要清空没用的文件,当我删除文件后,发现可用空间沒有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [ro ...

  10. 解决 python 读取文件乱码问题(UnicodeDecodeError)

    解决 python 读取文件乱码问题(UnicodeDecodeError) 确定你的文件的编码,下面的代码将以'utf-8'为例,否则会忽略编码错误导致输出乱码 解决方案一 with open(r' ...

随机推荐

  1. Taurus.MVC 微服务框架 入门开发教程:项目部署:7、微服务节点的监控与告警。

    系统目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  2. HTTPS涉及的加密算法讲解

    前言 从2015年左右开始,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS 为鼓励全球网站的 ...

  3. Can not set int field xxx to java.lang.Long 错误

    Can not set int field xxx to java.lang.Long 错误 这个错误其实是因为Java程序和MySQL表中字段的属性匹配不一致 我的报错是Can not set ja ...

  4. Pictionary 方法记录

    [COCI2017-2018#5] Pictionary 题面翻译 题目描述 在宇宙一个不为人知的地方,有一个星球,上面有一个国家,只有数学家居住. 在这个国家有\(n\)个数学家,有趣的是,每个数学 ...

  5. 论文笔记 - An Explanation of In-context Learning as Implicit Bayesian Inference

    这位更是重量级.这篇论文对于概率论学的一塌糊涂的我简直是灾难. 由于 prompt 的分布与预训练的分布不匹配(预训练的语料是自然语言,而 prompt 是由人为挑选的几个样本拼接而成,是不自然的自然 ...

  6. xlwings 模块总结

    基本使用 在子线程中使用时,有时需要在子线程函数中加入以下.有时不需要加入,目前还不明白具体的原因 import pythoncom # 导入的库 pythoncom.CoInitialize() # ...

  7. perl reverse函数

    转载至  Perl - 列表 - reverse 操作 reverse(逆转)操作将输入的一串列表(可能是数组)按相反的顺序返回. my @arr=("Head_PMA1",&qu ...

  8. 32bit和64bit系统的区别,运行机制浅析

    32bit:内存的最大寻址空间是2^32=4G,就是说32位系统的处理器最大只支持到4G内存 64bit:内存的最大寻址空间是2^64,大于1亿GB,但是实际上支持不到那么大的内存,大概是2^40+ ...

  9. CB利用链及无依赖打Shiro

    前言 前面已经学习了CC1到CC7的利用链,其中在CC2中认识了java.util.PriorityQueue ,它在Java中是一个优先队列,队列中每一个元素有自己的优先级.在反序列化这个对象时,为 ...

  10. Go语言核心36讲41

    你好,我是郝林,今天我们继续分享bytes包与字节串操作的相关内容. 在上一篇文章中,我们分享了bytes.Buffer中已读计数的大致功用,并围绕着这个问题做了解析,下面我们来进行相关的知识扩展. ...