Error Accessing and Displaying CHM Files

FAQ Question

When I launch an IGSS help file, it shows “The page cannot be displayed” message in the right-hand pane of the HTML Help viewer. Why do I get this message?


The HTML Help (CHM file) viewer component is not properly registered on your PC The system file [Windows]\system32\hhctrl.ocx may get missing, corrupted, or unregistered.

Solution: Run “regsvr32 hhctrl.ocx” command from the command line to register the library in the system.
Your CHM files are stored in the folder with ‘#’ (hash) character in the path Many C# developers discovered that their documentation and e-books in CHM format cannot be read because they were storing their CHM files in the directories like ‘C:\E-books\C#\’ The hash character signifies an anchor in HTML so the CHM viewer fails to resolve the path properly and to retrieve the content.

Solution: Remove the ‘#’ (hash) character from the directory name. Also avoid using ‘?’, ‘&’, and ‘+’ characters in directory names.
A security update for Windows XP® may block access to CHM files Windows XP® security update blocks active content in CHM files to protect your system security. Additional information is available here.

Solution: Run Windows Explorer, right-click on the CHM file, and select Properties from the popup menu. Click on the Unblock button immediately below the Advanced button on the General page. Click Apply to show the content. Once the CHM file has been unblocked, the Unblock button disappears.
The CHM file is in the restricted Internet zone When a CHM file that you are trying to access is stored remotely, e.g. on the network drive or on a remote server, you may also get in trouble. If the associated security zone is restricted, then CHM files won’t be displayed as well.

Solution: Modify the ItssRestrictions registry entry to enable a specific security zone.
Follow these steps:

  1. Run the regedit command from the command line.
  2. Locate and then click the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions Note: If this registry subkey does not exist, then create it.
  3. Right-click the ItssRestrictions subkey, point to New, and then click DWORD Value.
  4. Type MaxAllowedZone, and then press ENTER.
  5. Right-click the MaxAllowedZone value, and then click Modify.
  6. In the Value data box, type a number from 0 and 4, and then click OK. The values settings are
          0 = My Computer
          1 = Local Intranet Zone
          2 = Trusted sites Zone
          3 = Internet Zone
          4 = Restricted Sites Zone
          For most CHM files, the value of 1 should be enough to allow use without opening up access from/to remote CHM files in email/internet locations.
  7. Quit Registry Editor.

Warning: Enable only those security zones that you trust. Do not enable security zones that you are unsure of.