一个Windows Help 无法打开 .col文件的解决办法

问题:
今天在Win 7上安装一个msdn精编版,网上牛人自己打包的,160M大小,内容挺全,用的很方便,不像当前微软整的,没几个GB,都不好意思发布。但安装到最后的时候杀毒软件报msdn.exe有病毒,尼玛,也可能误报,也可能确实有,安全起见,先结束安装过程。发现实际快捷方式已经创建好了,不管了,先看看能否用。直接运行创建好的快捷方式,报错:

---------------------------
无法打开文件: C:\Program Files\MSDNLITE\msdn.col。
---------------------------
解决过程:

查看快捷方式,目标如下:
C:\Windows\hh.exe C:\Program Files\MSDNLITE\msdn.col
查看下安装目录,chm文件都全了,就缺少msdn.col文件。从另外一台前面成功安装的机器上(win 2003)复制一份。

再运行,还是报一样的错。难道Win Help损坏了? 测试下,直接打开.chm文件,正常。
看来是少了某些注册信息,原始的安装程序里面的msdn.exe就是干这个的(也负责生成.col文件)。

在成功安装的机器上,先查注册表,运行regedit搜索 msdn.col ,果不其然,发现目标:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections]
"Language"="0x0804"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections\0x0409]
"Preferred"="0x0358e0f00"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections\0x0409\0x0358e0f00]
"Filename"="C:\\Program Files\\MSDNLITE\\msdn.col"
"Full"=dword:00000001

立马导出一份,再导入到报错的机器上。再次执行,还是报一样的错。郁闷了。。。
难道需要重启机器? MS不至于这么土鳖吧。

再看看,是否还有配置文件。用Everything搜索 HTML Help 关键字,发现目录:

C:\ProgramData\Microsoft\HTML Help 下 hhcolreg.dat ,有戏了。查看下,这个dat实际就是一个XML文件,内容类似 msdn.col,
又把 .col .chm 文件描述了一把,晕,MS你为毛不能用一个.col就行了?
因本机没有别的.col文件,直接把好的那个机器上的hhcolreg.dat复制来就行了。
如果本机有其他的.col注册,注意合并下。

再次运行,bingo,搞定,收工!

** ** ** ** **
附:如果机器上连 chm 都无法打开或者全局搜索时程序飞掉,请用下面办法解决:
regsvr32 hhctrl.ocx
regsvr32 itss.dll
regsvr32 itircl.dll //这个很重要,是关于全文搜索和索引的。

另外,win7 默认不带WinHelp程序,要单独先安装一个
Windows6.1-KB917607补丁包(从 Windows Vista 和 Windows Server 2008 开始,不再授权第三方软件开发人员在其程序中重新分发 WinHlp32.exe)。可到这里下载:

http://www.veryhuo.com/down/html/36702.html

猜你喜欢

转载自dbaspider.iteye.com/blog/2168433