Microsoft_Compressed_HTML_Help
Microsoft Compiled HTML Help
Online help format by Microsoft
Microsoft Compiled HTML Help 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, for Compiled HTML. The format is often used for software documentation.
Filename extension |
.chm |
---|---|
Internet media type |
application/vnd.ms-dochelp[1] |
Developed by | Microsoft |
Initial release | 1997 |
Latest release | 1.4[2] |
Extended to | .lit |
Developer(s) | Microsoft |
---|---|
Operating system | Microsoft Windows |
Predecessor | Microsoft WinHelp |
Successor | Microsoft Help 2 |
Type | Help system |
It was introduced as the successor to Microsoft WinHelp with the release of Windows 95 OSR 2.5[3] and consequently, Windows 98. Within the Windows NT family, the CHM file support is introduced in Windows NT 4.0[4][5][6] and is still supported in Windows 11.[7] Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported in many document viewer applications.
Month | Year | Description |
---|---|---|
February | 1996 | Microsoft announces plans to stop development of WinHelp and start development on HTML Help. |
August | 1997 | HTML Help 1.0 (HH 1.0) is released with Internet Explorer 4. |
February | 1998 | HTML Help 1.1a ships with Windows 98. |
January | 2000 | HTML Help 1.3 ships with Windows 2000. |
July | HTML Help 1.32 releases with Internet Explorer 5.5 and Windows Me. | |
October | 2001 | HTML Help 1.33 releases with Internet Explorer 6 and Windows XP. |
March | At the WritersUA (formerly WinWriters) conference, Microsoft announces plans for a new help platform, Help 2, which is also HTML based. | |
January | 2003 | Microsoft 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.[8]
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.[9][10]
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.[11]
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.[13]
Sumatra PDF supports viewing CHM documents since version 1.9.
Various applications, such as HTML Help Workshop and 7-Zip can decompile CHM files. The hh.exe utility on Windows and the extract_chmLib utility (a component of chmlib) on Linux can also decompile CHM files.
Microsoft's HTML Help Workshop and Compiler generate CHM files by instructions stored in a HTML Help project. The file name of such a project has the extension .HHP and the file is just a text with the INI file format.[14]
The Free Pascal project has a compiler (chmcmd) that can create CHM files in a multiplatform way.
Read support:
- GTK: GnoCHM on SourceForge, CHMsee, chmviewkit
- Qt: Okular, kchmviewer, KCHM on SourceForge
- Java: CHMPane on SourceForge
- iOS: CHMate Neue, iChm Archived 2018-01-21 at the Wayback Machine, ChmPlus, ReadCHM Archived 2014-03-23 at the Wayback Machine
- Android: KingReader[permanent dead link], Chm Reader, iReader
- Mac OS X: iChm Archived 2018-01-21 at the Wayback Machine (Discontinued), ChmPlus (Discontinued), CHMox(PowerPC apps no longer supported), ArCHMock (Discontinued), CHM to EPUB Archived 2019-03-29 at the Wayback Machine (Discontinued), Clearview Reader
- Other / Cross-platform: xCHM, arCHMage on SourceForge, DisplayCHM
- Amiga: libmspack on Aminet
Read/write support:
- Lazarus (IDE)/Free Pascal (for a doxygen like tool, a separate command-line compiler in 2.6.0+, and a simple viewer in Lazarus)
- Techtonik, Anatoly (11 April 2006). "application/vnd.ms-dochelp". Retrieved 7 March 2012.
- "Microsoft HTML Help 1.4". Windows Dev Center. Microsoft. Retrieved 10 January 2017.
- "Microsoft Security Bulletin MS02-055 - Critical". docs.microsoft.com. Retrieved 2020-10-29.
- "Full Disclosure: HtmlHelp - .CHM File Heap Overflow". seclists.org. Retrieved 2020-10-29.
- "[SOLVED] Windows 10 CHM Help Files showing up blank. - Spiceworks". community.spiceworks.com. Retrieved 2020-10-29.
- "Microsoft HTML Help Downloads". Microsoft. Retrieved 6 March 2012.
- Wise, Paul; Wing, Jed (2005). "Unofficial (Preliminary) HTML Help Specification". Retrieved 15 August 2012.
- Palade, Alexandru (2005). "Archive::Chm". Retrieved 22 July 2014.
- "Virus Bulletin :: Chamber of horrors". www.virusbulletin.com. Retrieved 2022-01-05.
- "INFO: Limited Unicode Support in HTML Help". Microsoft. 11 April 2001. Archived from the original on 13 March 2016. Retrieved 17 March 2012.
- Salomon, David; Motta, Giovanni; Bryant, David (CON) (2009). Handbook of Data Compression (5th, illustrated ed.). Springer. ISBN 978-1-84882-902-2.
- Wise, Paul; Wing, Jed (2005). "Unofficial (Preliminary) HTML Help Specification INI formats". Retrieved 1 February 2018.
- HTML Help Web Page on MSDN
- Microsoft Help 2 Reference (part of Visual Studio SDK for VS7.1 and VS8.0)
- History of HTML Help
- Unofficial (Preliminary) HTML Help Specification (the linked ITSF specification has been moved to the Russotto.net domain)