CHM(Compiled HTML Help)是軟體說明書、技術文件常用格式,XP用戶常遇到無法開啟、顯示「網頁無法顯示」或「無法開啟檔案 mk:@MSITStore」等錯誤。本文針對三大主流成因,提供註冊表修復、檔案解除鎖定、核心元件重註冊三套解決方案。
成因:XP SP2引入資訊安全更新,限制非本機區域(Intranet/Trusted/Internet/Restricted)的CHM檔案執行 ActiveX/腳本,導致網路磁碟、共享資料夾、甚至本機某些路徑的CHM無法正常渲染。
方案A:註冊表放寬區域限制(建議)
chm_fix.reg:Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000003
"UrlAllowList"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000003
"UrlAllowList"=""
MaxAllowedZone=3 代表允許所有區域(My Computer=0, Intranet=1, Trusted=2, Internet=3, Restricted=4)。若僅需信任特定網路路徑,可在 UrlAllowList 填入 UNC 路徑(如 \\server\share)。
方案B:檔案屬性「解除鎖定」(最快)
滑鼠右鍵點擊CHM檔 → 「內容」 → 若底部出現「解除鎖定」按鈕 → 點擊 → 確定。此為Windows對下載/網路來源檔案的安全標記機制,一鍵解除。
成因:核心元件 hhctrl.ocx(HTML Help ActiveX控制項)遺失、版本不符或註冊失效。常見於安裝/解除安裝某些軟體覆蓋系統檔、病毒破壞、系統更新失敗後。
解決步驟:
I386 目錄、或同版本正常電腦 C:\Windows\System32 複製 hhctrl.ocx 至 C:\Windows\System32(覆蓋)。regsvr32 c:\windows\system32\hhctrl.ocx
或 regsvr32 /i hhctrl.ocx → 出現「DllRegisterServer 成功」 → 重新開機。
成因:itss.dll、itircl.dll 等索引引擎元件損毀或版本衝突。
解決:同現象二,從可靠來源取得對應版本元件檔(itss.dll、itircl.dll、hhctrl.ocx)覆蓋 System32 並重新註冊:
regsvr32 itss.dll
regsvr32 itircl.dll
依錯誤現象對號入座,多數CHM無法開啟問題可在數分鐘內解決。若註冊表修改後仍無效,請檢查群組原則或防毒軟體是否封鎖 hh.exe 執行。