HTML Help CHM File in Shared Folder

If you try to open a Microsoft HTML Help file from a shared folder using UNC path, you may see only blank screens where the help content should be. These files end with the *.chm extension which stands for Compiled Help Module. Unfortunately the blank screens are the only error you get with this issue, if you check your Event Viewer under the Application Log, you may notice Event ID 1904 from HHCTRL and Event ID 1 from ITSS as further indicators that you’re experiencing this issue. ITSS is the Microsoft “InfoTech Storage System” which is used by CHM Help files. To solve this problem, see the instructions of Microsoft Knowledge Base article # 896054 Cannot open remote content by using the InfoTech protocol. Specifically you should add your UNC path for folder(s) containing *.chm files to the following 32 and 64-bit registry locations.

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
    • “UrlAllowList” = “\\UNC\Path;file://\\UNC\Path”
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\HTMLHelp\1.x\ItssRestrictions]
    • “UrlAllowList” = “\\UNC\Path;file://\\UNC\Path”

NOTE: Make sure to put the same URL’s in both the 32 and 64-bit UrlAllowList registry locations. You MUST include each UNC path twice, once beginning with “\\” and a second time beginning with “file://\\” to cover different scenarios under which the help content may be accessed. Hopefully this helps some poor soul out there trying to access old CHM Html Help files from a Windows network file-share.

A related Microsoft Knowledge Base article # 892675 may also be of interest: HTML Help features may not work. It refers to a different registry key, HHRestrictions, which may need to contain your UNC path as well (no file:// form needed here). If you still have issues after the ITSS changes, update the HHRestrictions key as well.

To put this whole mess in perspective, you should read the reason behind these restrictions on Microsoft Knowledge Base article # 896358, A vulnerability in HTML Help could allow remote code execution. This article explains both the ItssRestrictions and HHRestrictions registry keys along with details about why HTML Help is locked down and how to selectively allow specific “remote” locations for your *.chm files.

NOTE: The above KB articles were written to support versions of Windows through XP and 2003. From personal experience I can tell you that the same issues still apply through Windows 7 and Server 2008 R2. I did not have newer versions of Windows available but the issue is likely to continue as long as *.chm files are still supported on Windows.

Advertisements

About notesbytom

Keeping technology notes on WordPress.com to free up my mind to solve new problems rather than figuring out the same ones repeatedly :-).
This entry was posted in System Administration and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s