Zum Inhalt

HTMLHelp

Das Dateiformat CHM (Compiled Help Modules) wird von Microsoft HTMLHelp verwendet, dem Standard Hilfesystem für die Windows Plattform. Eine CHM Datei ist eine Zusammenstellung von HTML Documenten und anderen Daten, wie Bilder und JavaScript, die in eine einzelne CHM Datei komprimiert werden. CHM Dateien enthalten eine Anzahl von Merkmalen, die in den Spezifikationen beschrieben sind und umfassen im wesentlichen ein Inhaltsverzeichnis, Index aus Schlüsselworten und eine Volltext-Suchfunktion.

Microsoft HTMLHelp Workshop
Microsoft HTMLHelp Workshop mit geöffnetem zugehörigen Hilfefenster

HTMLHelp 1.x löste das unter Windows 3.x verwendete Hilfesystem WinHelp ab und wird seit 1997 ab der Internet Explorer Version 4 ausgeliefert. Benutzer müssen den Internet Explorer 4.0 oder eine höhere Version bzw. Laufzeitumgebung installiert haben, um HTMLHelp Dateien zu betrachten.

Die bisherige Entwicklung der Microsoft Hilfesysteme haben wir in der Historie für Sie zusammengestellt. WinHelp wurde aus Dateien im RTF Format abgeleitet während HTMLHelp die Flexibilität der Hypertext Markup Language (HTML) und der ActiveX Controls nutzt.

Mit HTMLHelp können Sie eine ganze Website in eine einzelne Datei (CHM) mit einer ähnlicher Kompressionsrate wie bei einer ZIP-Datei komprimieren, während Sie immer noch in der Lage sind den Inhalt zu betrachten und zu navigieren.

Help Historie

Version Datum Beschreibung
QuickHelp 1988 Ralph Walden kam 1987 zu MS und schrieb ein Hilfesystem für MS DOS namens QuickHelp. Ralph war auch hauptsächlich für WinHelp und HTML Help 1.x verantwortlich. Ralph verließ MS Anfang 1998 und gründete zusammen mit Cheryl Lockett Zubak von Work Write, Inc. die Firma KeyWorks. KeyWorks bietet viele qualitativ hochwertige, unentbehrliche Hilfswerkzeuge, von denen die meisten kostenlos sind.
WinHelp (.hlp) 1990 WinHelp 1.0 wird mit Windows 3.0 ausgeliefert.
WinHelp 95 (.hlp) 1995 WinHelp 4.0 wird mit Windows 95 / Windows NT 3.51 ausgeliefert.
HTML Help 1.x (.chm) 1997 HH 1.x wird mit IE4 ausgeliefert (siehe vollständige Geschichte unten). MS verwenden auch die HTML-Hilfe, um Hilfesammlungen für die MSDN- und Visual Studio 6-Hilfe zu erstellen. Microsoft hat die Dokumentation für HH-Collections nie veröffentlicht.
MS Help 2.x (.hxs) 2001-2007 MS Help 2.x ist das Hilfesystem, das mit Visual Studio 2002/2003/2005/2008 ausgeliefert wird. Obwohl es ursprünglich als nächstes Hilfesystem für die breite Masse vorgesehen war, wird MS H2-Authoring nur noch von VStudio-Integratoren verwendet.
AP Help (.h1s) 2007 Assistance Platform help ist das Hilfesystem für Windows Vista und einige Office-Versionen.
Help Viewer (.mshc) 2010-2013+ MS Help Viewer ist das Hilfesystem, das mit Visual Studio 2010/2012/2013 usw. ausgeliefert wird. Es ist auch das Hilfesystem für das Betriebssystem Windows 8.

WinHelp vs. HTMLHelp Dateien

WinHelp HTMLHelp Beschreibung
.hlp .chm Hilfedatei
.hpj .hhp Projektdatei
.cnt .hhc Inhaltsverzeichnis-Datei. HHC wird in die CHM-Datei kompiliert.
.hhk Index-Datei. HHK wird in die CHM-Datei kompiliert.
hcw.exe hhw.exe Help Workshop. Kostenloses Basis-Autorentool von MS. Frühere Versionen von hcw sind hc31, hc, etc.
winhelp.exe hh.exe Startet die Hilfedatei. HH.EXE ist nur ein kleiner Stub, der die HTML-Hilfe-API aufruft.
hcrtf.exe hhc.exe Command Line Compiler. Hcrtf.exe isn't a console program, but it does take command line parameters and can be run from a DOS prompt.
.rtf .htm, .html Die HTMLHelp ist HTML-basiert, während WinHelp RTF-basiert ist.
.bmp .dib .wmf .shg .jpg .gif HTMLHelp verwendet HTML-Dokumentgrafiken.
.gid .chw hh.dat Die .GID-Datei speichert zusammengeführte Schlüsselwörter (.CHW) und Positions-/Voreinstellungsinformationen (hh.dat).
.fts .ftg Bei HTMLHelp werden FTS-Informationen innerhalb der CHM
.ann .bmk hh.dat WinHelp Laufzeitdateien zum Speichern von Anmerkungen und Lesezeichen. HTML Help 1.2 bietet noch keine Anmerkungen, während Favoriten in HH.DAT gespeichert werden.

HTMLHelp Version info

Version hhctrl.ocx itss.dll itircl.dll hh.exe
HH 1.2 4.73.8252.0 4.72.8084.0 4.72.7276.0 4.73.8252
HH1.21 4.73.8412 4.72.8084.0 4.72.7276.0 4.73.8412
HH1.21a 4.73.8474 4.72.8084.0 4.72.7276.0 4.73.8474
HH1.22 4.73.8561 4.72.8084.0 4.72.7276.0 4.73.8561
HH1.3 4.74.8702 4.72.8085.0 4.72.7277.0 4.74.8702
HH1.31 4.74.8793 4.72.8085.0 4.72.7277.0 4.74.8793
HH1.32 4.74.8875 4.72.8085.0 4.72.7277.0 4.74.8875
HH1.33 4.74.9273 4.72.8085.0 4.72.7277.0 4.74.9273
HH1.4 5.2.3664.0 5.2.3644.0 5.2.3644.0 5.2.3644.0
HH1.4a 5.2.3669.0 5.2.3644.0 5.2.3644.0 5.2.3644.0
HH1.4b 5.2.3718.0 5.2.3644.0 5.2.3644.0 5.2.3644.0
HH1.4c 5.2.3735.x 5.2.3644.0 5.2.3644.0 5.2.3644.0
HH1.4d 5.2.3735.x 5.2.3790.185 5.2.3790.80 5.2.3644.0
HH XP SP2 5.2.3790.1194 5.2.3790.1221 5.2.3790.1159 5.2.3790.1159
** **

hh.exe wird normalerweise nicht geändert, außer dass die Versionsnummer mit der von Hhctrl.ocx übereinstimmt.

** Spätere Versionen von HH sind schwer aufzulisten, da sich die Versionsnummern der einzelnen Betriebssysteme unterscheiden.

Die Versionsnummern sind ein wenig verwirrend. Es gibt eine Version von HTMLHelp 1.3. Die Microsoft Web site spricht von einer Microsoft HTML Help 1.4.

Die neueste Version des HTMLHelp Workshops selbst ist 1.31. Die 1.4 Versionsnummer des Downloadpakets bezieht sich auf die Anzeigekomponente, aber selbst diese ist jetzt veraltet. Neuere Updates der Anzeigekomponente sind Sicherheit-Updates zu Windows gewesen. Wenn man einen nahezu aktuellen Computer mit Sicherheit-Updates hat, dann hat man bereits eine neuere Version der Anzeigekomponente installiert und das ist der Grund für die Meldung bei der Installation von HTMLHelp Workshop, dass man bereits eine neuere Version hat. Die Meldung bezieht sich auf die beinhaltete Anzeigekomponente und nicht auf den HTMLHelp Workshop selbst.

Alle diese 1.x Versionsnummern sind die externen Versionsnummern, die Microsoft zur Vereinfachung verwendete, um ein Paket vom folgenden zu unterscheiden. Die Versionsnummern, die du in Help > About siehst, sind Versionsnummern der verschiedenen Bestandteile, die keine Relation zu den Versionsnummern der Installationspakete haben.

Das Herz der HTMLHelp (Runtime) ist hhctrl.ocx und die Versionsnummer war für viele Jahre 1.3. Es wurde 1.4 als Windows XP SP1 freigegeben wurde. Nun ist hhctrl.ocx Teil des Windows Betriebsystems und hat z.B. unter Vista jetzt dieselbe Version 6.0 wie Vista oder 10.0 bei Windows 10.

Wenn man das Programm startet und im Hauptmenü auf Help > Version klickt sieht man eine Version von 4.74. Was man jetzt sieht ist die Compiler DLL Version (HHA.DLL). Dieses ist nicht Bestandteil des Windows Betriebssystems. Es ist ein unabhängiger Download und man erhält es, wenn der HTMLHelp Workshop (htmlhelp.exe) heruntergeladen und installiert wird. Alle Programme zur Erstellung von HTMLHelp basierter Hilfe verwenden HHA.DLL, um die CHM zu kompilieren (MS HTML Hilfe 1.x Compiler (HHA.DLL), gegenwärtige Version = 4.74.8702.0).

Nun enthält das htmlhelp.exe (HTMLHelp Workshop Installation) auch noch hhupd.exe (Laufzeit Installation). Am Ende des HTMLHelp Workshop Installation läuft hhupd.exe, um die Laufzeit-Datei hhctrl.ocx zu aktualisieren, aber dieses tut nichts mehr, da hhctrl.ocx jetzt Teil des Windows Betriebssystems ist und nur über HotFixes und Service-Packs instandgehalten werden kann. Deshalb erhälst man die Meldung „Already have newer version“, die ignoriert werden kann.

Microsoft HTMLHelp Workshop
Microsoft HTMLHelp Workshop mit geöffneter Versionsinfo

HTMLHelp Runtime Komponenten

Dateiname Beschreibung
hhctrl.ocx Bietet Zugang zu allen wichtigen Funktionen und Diensten von HH. In HH 1.3 haben wir nun alle sprachspezifischen Ressourcen in separate 28 Sprach-DLLs ausgelagert. Besonderer Hinweis:Die Standardsprache Englisch wird immer aus hhctrl.ocx gelesen, nicht aus der englischen Sprach-DLL. Dies macht das Austauschen von Sprachen auf englischen NT4- & Win9x-Systemen fast unmöglich.
itss.dll Die Datei itss.dll behandelt die its: und ms-its: Pluggable-Protokolle zusammen mit dem fest verdrahteten mk:@MSITStore-Protokoll. Sie wird auch für die Komprimierung und Dekomprimierung von Dateien verwendet -- das geschieht entweder automatisch über die drei Protokolle (Dekomprimierung) oder über die IStorage-Schnittstelle, die itss unterstützt (sowohl Komprimierung als auch Dekomprimierung).
itircl.dll Zugrunde liegende Volltextsuche
hh.exe Windows verwendet hh.exe zum Öffnen von CHM-Dateien. Es wird in das Windows-Verzeichnis installiert.
hhctrlui.dll 28 sprachspezifische Ressourcen-DLLs (>= HH1.3 Siehe mehr unten)