您的位置:首页 > 运维架构

别慌张: CHM文档都打不开了怎么办? Cannot open the file: mk :@MSITStore:

2011-09-06 10:30 489 查看
转自:http://godsonx.blog.163.com/blog/static/109609057201051643258254/

MS系统安全性升级后导致的BUG。

 

你可以采用下面办法:

适用于Win XP SP3 :

其他常规办法:

1.第一次打开,如弹出“打开文件—安全警告”,可把该窗口内“打开此文件前总是询问”选项前的对勾去掉;

2.选定文件,点右键,在“属性—常规”里解除锁定。

3.在运行窗口中输入:regsvr32 itss.dll

4.要是还不行的话,在运行窗口中输入:regsvr32 C:\WINDOWS\system32\hhctrl.ocx

更详细的后备招数

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

问:CHM文档都打不开了,错误提示:Cannot open the file: mk :@MSITStore:文件路径\文件名

解决办法:

方法一:

首先,在微软网站上下载hhupd.exe , 安装 hh.exe 后并运行。然后运行“regsvr32 C:\windows\system\hhopen.ocx”等CHM相关文件。如果还是不能正常打开CHM文档,就看看你的注册表中的 “HKEY_CLASSES_ROOT\chm.file\shell\open\command”分支,如果分支下面除了默认项外,还多了一个“command”字符串,就把它删除,这样CHM文件就能正常打开了。

方法二:

把他转换成记事本文件.txt

CHM是一种常见的帮助文件格式,有时候我们需要提取里面的内容来进行编辑,但是有些CHM文件里的内容是不能复制的。其实我们可以通过转换格式把CHM文件转换成其他格式,这样就可以轻松提取里面的内容了。

CHM Converter(点击下载)是一个专门转换CHM格式的文件,它可以把CHM文件转换成PDF、TXT、DOC等常用的格式。

下载后运行软件,软件默认是英文界面,我们可以点击菜单“Tools-Language”,在弹出的对话框中选择“Chinese_Simplified”就可以换成中文了,软件还支持其他很多语言。

选好语言后点击左上角的“打开”按钮来选择要转换的CHM文件,如果CHM文件是英文版的,那么在旁边的下拉菜单中就选择“DEFAILT_CHARSET”,如果是中文的,那需要在下拉菜单中选择“GB2312_CHARSET”,否则会产生乱码,然后在右面的“导出”中来选择要转换的文件类型,软件支持很多格式的文件,如这里选择“Word97-2003”,最后点击“另存数据库为”按钮,选择保存的文件夹后就开始进行转换了。

方法三:

本问题和微软的安全更新 896358有关,把chm文件改成英文文件名。

 

方法四:

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

既然如此,很有可能是协议出了问题。HH.EXE 用的是 ms-its 等协议,这些协议应该是由某个 DLL 文件提供服务的。问题是,是什么 DLL 呢?于是再用 Google 搜索 ms-its 协议。终于找到了,原来是一个 itss.dll 在做服务。不过网上查到的解决方案是修改注册表。

要修改 ItssRestrictions 注册表项以启用特定的安全区域,请按照下列步骤操作:

1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

2. 找到并单击下面的子项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions

注意:如果该注册表子项不存在,则使用方法 1 中的步骤 2a 和 2b 创建该子项。

3. 右键单击“ItssRestrictions”子项,指向“新建”,然后单击“DWORD 值”。

4. 键入 MaxAllowedZone,然后按 Enter 键。

5. 右键单击“MaxAllowedZone”值,然后单击“修改”。

6. 在“数值数据”框中,键入 0 至 4 之间的一个数字,然后单击“确定”。

7. 退出注册表编辑器。

注意:默认情况下,“MaxAllowedZone”值设置为 0。下表摘要列出了“MaxAllowedZone”值对各个项的解释。 MaxAllowedZone 本地计算机区域 本地 Intranet 区域 受信任的站点区域 Internet 区域 受限站点区域

0 允许 阻止 阻止 阻止 阻止

1 允许 允许 阻止 阻止 阻止

2 允许 允许 允许 阻止 阻止

3 允许 允许 允许 允许 阻止

4 允许 允许 允许 允许 允许

方法五:

重新注册DLL:regsvr32 itss.dll
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息