Error Accessing and Displaying CHM Files: Reasons and Solutions

Download the latest version of HelpSmith! »

By Dennis Crane
Original Link

So, you’ve got in trouble. Some or even all of your CHM files seem to have gotten corrupted. They show a “The page cannot be displayed” error in the left-hand pane of the CHM viewer. There are several possible reasons why your CHM e-books and documentation files are unreadable.

The CHM viewer component is not properly registered on your PC

The system file \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 (http://support.microsoft.com/kb/896054/).

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 ‘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 about which you are not sure.

Download the latest version of HelpSmith!
Technical Documentation Know-how and Services
Help Authoring on Steroids
Better UX through Better UA
HelpSmith 3 is Released
Error Accessing and Displaying CHM Files: Reasons and Solutions
HelpSmith 3.4 Enables Integration of Help Systems with YouTube and Google Analytics
Graphics in Help Files
How to connect HTML Help (.CHM) files to your Microsoft Office VBA application (for MS Word, MS Excel, MS Access developers)

Add to Reddit Add to Digg Add to del.icio.us Add to StumbleUpon Add to Facebook Add to BlinkList Add to Furl Add to Spurl Add to Fark Add to Google Add to YahooMyWeb Add to Twitter


0 Comments to “Error Accessing and Displaying CHM Files: Reasons and Solutions”

No Comments. Send your comment.

Leave a Reply