Microsoft Compiled HTML Help explained

Microsoft Compiled HTML Help
Extension:.chm
Mime:application/vnd.ms-htmlhelp[1]
Owner:Microsoft
Released:1997
Latest Release Version:1.4[2]
Extended To:.lit
Microsoft HTML Help Executable
Other Names:hh.exe
Developer:Microsoft
Discontinued:yes
Included With:Microsoft Windows
Replaces:Microsoft WinHelp
Replaced By:Microsoft Help 2
Genre:Help system

Microsoft Compiled HTML Help (CHM) is a Microsoft proprietary online help format, consisting of a collection of HTML pages, an index and other navigation tools. The files are compressed and deployed in a binary format with the extension .CHM. The format was intended to succeed Microsoft WinHelp.

Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported by many document viewers.

History

CHM was introduced as the successor to Microsoft WinHelp with the release of Windows 95 OSR 2.5. Within the Windows NT family, the CHM file support is introduced in Windows NT 4.0[3] [4] and is still supported in Windows 11.[5]

MonthYearDescription
February1996Microsoft announces plans to stop development of WinHelp and start development on HTML Help.
August1997HTML Help 1.0 (HH 1.0) is released with Internet Explorer 4.
February1998HTML Help 1.1a ships with Windows 98.
January2000HTML Help 1.3 ships with Windows 2000.
JulyHTML Help 1.32 releases with Internet Explorer 5.5 and Windows Me.
October2001HTML Help 1.33 releases with Internet Explorer 6 and Windows XP.
MarchAt the WritersUA (formerly WinWriters) conference, Microsoft announces plans for a new help platform, Help 2, which is also HTML based.
January2003Microsoft decides not to release Microsoft Help 2 as a general Help platform.

Microsoft has announced that they do not intend to add any new features to HTML Help.[6]

File format

Help is delivered as a binary file with the .chm extension. It contains a set of HTML files, a hyperlinked table of contents, and an index file. The file format has been reverse-engineered and documentation of it is freely available.[7] [8]

The file starts with bytes "ITSF" (in ASCII), for "Info-Tech Storage Format", which is the internal name given by Microsoft to the generic storage file format used for CHM files.[9]

CHM files support the following features:

The Microsoft Reader's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.[11]

Viewers

In addition to Microsoft Windows, the following apps support CHM:

!Name!Operating system!Website!
OkularLinux, Unix-like, WindowsUses hh.exe on Windows
CalibreWindows, macOS, Linux
Sumatra PDFWindows
GnoCHMLinux, BSD
CHM ViewNone/Uncompiled
kchmviewerWindows, Linux
KCHMLinux, BSD, Solaris
CHMPaneWindows, macOS, Linux
CHMate NeueiOS, iPadOS, visionOS
iChmiOS, macOSDiscontinued
ChmPlusiOS, iPadOS, macOS, visionOS
ChmoxmacOS
ClearviewmacOS
DisplayCHMLinux
KOReaderAndroid, Linux
7-zipWindows (GUI), MacOS (command-line), Linux (command-line)7-zip can show the contents of .chm files as though they are a compressed archive, but does not render the HTML as a help-viewer.

Creators

Microsoft's HTML Help Workshop generates CHM files by instructions stored in an HTML Help project file, which bears a .HHP file name extension and is a specialized form of INI file.[12]

Lazarus and Free Pascal provide a doxygen-like tool for CHM generation and a separate command-line compiler called chmcmd.

Other utilities

The official viewer in Microsoft Windows (hh.exe) can decompile a CHM file. So can Microsoft HTML Help Workshop and 7-Zip. Calibre and arCHMage can convert CHM into another format.

See also

External links

Notes and References

  1. Web site: Techtonik . Anatoly . application/vnd.ms-htmlhelp . 11 April 2006 . 7 March 2012.
  2. Web site: Microsoft HTML Help 1.4. Windows Dev Center. Microsoft. 10 January 2017.
  3. Web site: Microsoft Security Bulletin MS02-055 - Critical. docs.microsoft.com. en. 2020-10-29.
  4. Web site: Full Disclosure: HtmlHelp - .CHM File Heap Overflow. seclists.org. en. 2020-10-29.
  5. Web site: [SOLVED] Windows 10 CHM Help Files showing up blank. - Spiceworks]. community.spiceworks.com. February 2017 . en. 2020-10-29.
  6. Web site: Microsoft HTML Help Downloads . Microsoft . 6 March 2012.
  7. Web site: Wise . Paul . Wing . Jed . Unofficial (Preliminary) HTML Help Specification . 2005 . 15 August 2012 .
  8. Web site: Palade . Alexandru . Archive::Chm . MetaCPAN . 2005 . 22 July 2014 .
  9. Web site: Virus Bulletin :: Chamber of horrors. 2022-01-05. www.virusbulletin.com.
  10. Web site: INFO: Limited Unicode Support in HTML Help. Microsoft. 11 April 2001. 17 March 2012. https://web.archive.org/web/20160313203857/https://support.microsoft.com/en-us/kb/269766/. 13 March 2016.
  11. Book: Handbook of Data Compression. David . Salomon . Giovanni . Motta . David (CON) . Bryant. 5th, illustrated. Springer. 2009. 978-1-84882-902-2. registration.
  12. Web site: Wise . Paul . Wing . Jed . Unofficial (Preliminary) HTML Help Specification INI formats. 2005 . 1 February 2018 .