HTML Help is a help file format introduced by Microsoft in 1997 as replacement to the obsolete WinHelp files. A single HTML Help file (with the .CHM extension) represents a container that stores all the data of a help system including HTML files of help topics, CSS styles sheets, JavaScripts files, the hierarchical Table of Contents, alphabetical keywords for the Index tool, full-text search database, images files, embedded videos, and other data files.
The key features supported by HTML Help include:
In the Windows environment, a standard viewer is used to display CHM help files. Available since Windows 98 as a built-in application, HTML Help viewer enables users to open and view CHM files on any Windows computer today.
There are also third party tools that enable opening a CHM file on other platforms including Linux. Some of these applications are xCHM, GnoCHM, Chmox, ChmSee, and KchmViewer.
To create a CHM file from a series of HTML files, the HTML Help compiler is used. The CHM file compiler (or HHC.exe) is a part of Microsoft HTML Help Workshop package which represents a CHM creation utility with basic features.
On practice, to create a help file, technical writes prefer to use a full-featured help authoring tool that provides a visual editor to write the content of help topics with the possibility to insert hyperlinks, images, and also includes tools necessary to produce and maintain a middle-size or large documentation project.
You can download MS HTML Help Workshop with the CHM file compiler (HHC.exe) by clicking the link below:
Download Microsoft HTML Help Workshop - HTMLHelp.exe, 3.5 MB
Thus, to create a CHM help file, you can download MS HTML Help Workshop for the help compiler and also a help authoring tool such as HelpSmith or Help and Manual which allow you to:
By using a help authoring tool, you can make a help file not only in the CHM format, but also in other formats including an online manual for your website, and printable PDF manual.
Since the HTML Help format was created for use with Windows applications, it provides API allowing developers to integrate a .CHM file with their programs. Also, major IDEs such as Visual Studio and Embarcadero RAD Studio include components or interfaces that simplify integration of a CHM help file and providing context-sensitive help.
If you need to integrate a CHM help file with your application, below you can find code examples for different development environments:
When you view an existing CHM file, or produce your own one, you may face some of the known issues such as blocked content, or non-working search. In fact, these are quite frequent problems for which you can find an easy solution by clicking the below.
While HTML Help is a standard help file format on Windows, it may also be used to create and distribute other kinds of documentation including e-books.
Concerning the advantages of this help format, it should be pointed out that a CHM file has smaller size than separate HTML files thanks to the built-in LZX compression, it provides rich formatting possibilities of HTML and CSS for the help content, and also it includes the full-text search engine.
Among the disadvantages is the lack of native support of CHM files on non-Windows platforms such as Linux, Mac OS, and mobile systems like iOS and Android, not full Unicode support, and also the potential access issues mentioned above.
You can download one of the recommendable help authoring tools that combines a rich feature-set, slight learning curve, and affordable price.