Navigation: Creating HTML Help Files >

Creating HTML Help Files

Send comments on this topic.



HelpSmith allows you to compile your help project as an HTML Help (CHM) file, a standard help format used in Windows applications.


HTML Help Compiler

To create HTML Help (.CHM) files, HelpSmith uses the HHC.exe help compiler which is available with Microsoft HTML Help Workshop. You can download the MS HTML Help Workshop package, install it, and then link the HTML Help compiler (HHC.exe) with HelpSmith in program settings.

For full details, please see this help topic.


Compile an HTML Help (CHM) File

1.On the Project tab, in the Project group, click Compile.

2.At the dialog box, select HTML Help as the output help format.

3.Select build tags, and other options that you want to use for this compilation.

4.Click OK.


Note: You can also access the compilation dialog box by pressing F9.


Quick Compilation with the Previous Options

You can skip the Compilation Options dialog box and apply the previously used options including the build tags that were selected for this output help format. To do so:

1.On the Project tab, in the Project group, click the arrow in the bottom of the Compile button.

2.Under Quick Compilation, click HTML Help.


HTML Help (CHM) Output Directory

By default, HelpSmith puts the compiled .CHM file in the same directory as the help project (.HSM) file. If the project has never been saved, HelpSmith will put the .CHM file into the HelpSmith's folder in the Windows "My Documents" directory.


You can define an alternative directory for the compiled help file, to do so:

1.On the Project tab, in the Project group, click Project Options.

2.At the Project Options dialog box, in the left sidebar, click HTML Help.

3.In the Output Directory box, define the directory where you want HelpSmith to put the output file.

4.Click OK.


Distributing an HTML Help System

An HTML Help system is stored in a single .CHM file and, in most cases, it is the only file that you need in order to distribute the entire help system to other people or along with your application.

However, in some cases, you should also distribute video files together with your CHM file since the video formats such as AVI, WMV, MPG are not embedded into the CHM file. Please visit this help topic for more details.


Integration with an Application

A Windows desktop application can use HTML Help API to interact with an HTML Help (CHM) file and to provide Context-sensitive Help. For more details on HTML Help API, you can refer to Windows SDK, MSDN or to the documentation of your development tool.


Also, below you can find examples of interacting with a CHM file from different IDEs, and from the command line.

Using a CHM File in a .NET Application (C#, VB.NET, etc.)

Using a CHM File in a Visual Basic or VBA Application

Using a CHM File in a Delphi Application

Calling HTML Help Topics from the Command Line


Customizing an HTML Help System

The following topics describe different categories of the HTML Help-related options:

General Options

Contents Options

HTML Help Windows


Using JavaScript and CSS in HTML Help

HelpSmith allows you to include and use JavaScript and CSS files in help topics of your HTML Help (CHM) system, add HTML attributes to the page elements, and also to insert custom HTML code into a help topic. These capabilities can be used to implement non-standard functionality in HTML-based documentation, or to apply any special formatting attributes.


Known Issue: a CHM File is not Displayed Properly

In some cases, when you open a CHM file, the HTML Help viewer can display a message like "Navigation to the webpage was canceled" or "This program cannot display the webpage" instead of the actual topic content. Since a CHM file contains HTML code, it can be blocked by Windows security policy as a potentially harmful object.


Mostly, this problem occurs when a CHM file is accessed from a network PC and usually this problem does not occur when the CHM file is distributed with an application and accessed from the local PC. For more details on the reasons and solutions of this issue, you can refer to this article.


If you need your users to access your help system through a network, you can consider the Web Help format as an alternative to HTML Help.

Copyright © 2007-2017