Viewing Downloaded CHM Files

Windows Vista and later, including Windows 10 and 11, and Windows XP with security patch 896358, prevent you from opening CHM files that you downloaded from the Internet. If you try you will get a dialog box captioned “Open File - Security Warning”. Clear the “Always ask before opening this file” check box before clicking the Open button to be able to view the CHM file correctly. If you click Open without clearing the checkbox then the help file’s table of contents will appear, but the body text will not.

Alternatively, locate the .chm file that you downloaded in Windows Explorer. Make sure that the file is saved on a local drive rather than on a network drive. Move or copy it to a local drive if needed. Right-click the local file and select Properties. At the bottom of the General tab you will see a message saying that “this file came from another computer and might be blocked to help protect this computer”. Next to it should be a checkbox labeled Unblock. Check that and click the OK button. After that you should be able to open the .chm file without any warnings and with its contents fully visible.

Security warning when opening a downloaded CHM file Unblocking a downloaded CHM file in Windows Explorer

Viewing CHM Files Across The Network

Windows Vista and later, and XP with the security update, also will not display the contents of CHM files that are stored on a network drive (as opposed to CHM files stored on your own computer). The help file will appear, but instead of the topic text you will see an error message “this page cannot be displayed”. There is no way to unblock files stored on the network. You need to make a local copy and unblock that.

On Windows XP and Windows Vista it was possible to allow CHM files stored on LAN drives to be displayed by lowering the security restrictions for CHM files on the Local Intranet zone as follows:

  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the subkey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions or create it if it does not exist.
  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 1, and then click OK.
  7. Quit Registry Editor.

This workaround used to work on Windows 7, 8, 8.1 and 10 too. But a further security patch rolled out on 8 May 2018 has disabled this workaround. This is what is meant with “security updates to HTML Help” in KB4103718 and KB4103721.

Enable Customers to Read Your Help Files

If your customers are having problems accessing your CHM files, you have the following options:

  1. Make them aware of the issues with viewing downloaded CHM files and viewing CHM files across the network. Feel free to provide them a link to this page.
  2. Make sure your software’s installer installs CHM files locally rather than on the network. Then they will always work. The fact that your installer was downloaded has no impact on the CHM files it installs.
  3. If your application must be installed on a network drive then the Help function in the application could copy the help file to the user’s temporary files folder and open that copy rather than the original file stored on the network.
  4. Use the WinHelp format instead of HTML Help (CHM). You can make this choice in Project Options in HelpScribble. WinHelp HLP files are not affected by this security issue. WinHelp files work out of the box on Windows 95, 98, ME, NT4, 2000, and XP. On Windows Vista, 7, 8, and 8.1, the WinHelp viewer is a separate download. Windows 10 and 11 do not support WinHelp.

About HelpScribble