Return to Tutorials

Checklist for managing merged CHMs using RoboHTML 2000
Download this project's source code

  1. Make sure there are no spaces in any filenames. This can lead to a "File not found" error when the user clicks on a TOC item.
  2. Add the prefix $global_ to all window definitions to avoid possible problems where jumps appear in a different window that the present session is using. (e.g., $global_TriPane instead of TriPane.)
  3. In a context sensitive call, be sure to add the name of the CHM as well as the topic filename. Even though the topic is "merged" into the Master CHM's TOC, it still remains in a separate CHM. (The following is from the HHW API help file.)

HWND hwnd = HtmlHelp( GetDesktopWindow(),

  1. Alinks and Klinks work well except that you must make at least one Alink Name in the Master CHM for this to work.
  2. If using HHCTRL.OCX version 1.3 or 1.31, it is necessary to add at least one Index keyword to the Master CHM for the merged Index to show up in the Master CHM.
  3. Improve consistency of appearance by creating a common Cascading Style Sheet for all files.
  4. Decide whether you want the merged elements to appear if a "sub-CHM" is accessed independently. If you do, then in the [Merge Files] section of the .HHP, all .CHMs should be listed, except that project's own .CHM.
  5. When using RoboHTML 2000, remember that your TOC's structure created in the TOC Composer can be lost when you close and re-opening the project. So, be sure to either backup the master file's .HHC, or make it "Read only."
  6. To get all Books on Level 1, open the Master file's .HHC in Notepad and remove the closing </UL> tag in front of the last </OBJECT> tag after the merged files listing. Then place that tag in front of the beginning <OBJECT tag which starts the list of included merged files. (Illustrated below.) As a precaution, make the .HHC "Read only" as described above.

Problem workarounds 

Acknowledgements: Much of the "Merging CHMs" material in this presentation was created in response to questions from frustrated authors in such forums as the Winhlp-L Listserve, Parametrica mailing list, the eHelp Community, microsoft.public.helpauthoring newsgroup and websites throughout the help authoring community. Among those offering valuable solutions were Robert Chandler, Ralph Walden, Char James-Tanny, Cheri Lockett-Zubak, David Liske, Don Lammers, Yuko Ishida, Neil Perlin, Matthew Brown, Diane Flewelling, Brett Merkey, and Robert Cavicchio, Steve Wexler, Alicia Costello Sheldon Siegel, Michael Müller-Hillebrand and Kate Pearson