
Introduction
This article will help you to understand the Microsoft help technologies involved while creating and exploring your own documents in the Windows platform.
We can divide the documents explorer world into three decades as below:
- WinHelp
- Microsoft HTML Help 1.x (CHM)
- Microsoft Help 2.x (VSHIK)
Before jumping to these technologies, we will explore the readers, developers’ expectations in order to deliver successful documents.
Reader’s expectations
As a reader, while I navigate any of the documents (at work, at home, at entertainment …) the following are the features that I am interested:
- It should be very easy-to-explore user interface (for example, listing all the topics, sub-topics in the left pane and the document content in the right hand side pane).
- It should be browser compatible so that I can jump easily to web links in the same interface.
- If it provides MDI based interface, that would be awesome. Because I don’t want to open plenty of windows in my desktop just to explore one of my project related document.
- Indexing features is a must one. All the time, I don’t want to struggle to go for a particular topic.
- Of course, I should be able to search effectively/efficiently within topics.
- Book marking an important topic inside a UI itself is a fantastic feature if you provide such a one.
- If possible to increase the text size while exploring the documents, that would be good.
Developer’s expectations
As a document developer I need to have the below features in that dev kit.
- The help documents development environment should be easy to use instead of writing million lines of code.
- Round-trip decompilation should be supported by the Help compiler. All topic and project file markup should be left intact at compile time so that an entire project can be re-created simply from decompiled files.
- Project files should be in universally known format (example is XML) so that all the help file types can be easily created and edited using any tool.
- Integration/Extension support. I should be able to deploy my new documents collection into an existing documents collection.
- Easy-to-convert. I should be able to convert the obsolete help technology documents collection into new help technology documents collections.
- Virtual topics support. Means the content of the topic will be displayed from the internet so that I can change content dynamically even after the deployment.
- Built-in support for indexing, searching, book-marking, MDI, HTML browser.
- API support in order to automate from my own custom components
The answer is Microsoft Help 2.x. Yes, this Microsoft help technology simply satisfies all of these expectations. Before we explore this technology, we will discuss how Microsoft found this technology by evolving previous technologies such as WinHelp and CHM (Compiled HTML Help).
WinHelp

WinHelp is a first help technology to explore help documents in Windows introduced by Microsoft in the age of 16 bit Windows (Windows 3.1). This help system provides some of the above listed features (but not all the features).
You would have seen the above type of help windows (see above screenshots) in earlier versions of Windows operating systems / environments such as win3.1, win95/98 when you look for help in the windows applications / accessories. In the recent versions of Windows operating systems, these help files are converted into Microsoft HTML Help 1.x format.
Downloads and References
- Compiler for HLP files are available here.
- Windows 3.1 Help Compiler, version 3.10.505, is available here at no charge from Microsoft in the compressed file Hc505.exe. This file also contains directions to install the compiler to the practice directory.
- The Winhelp sample shows the components of a working help system based on the Help Workshop (HCW.EXE) and provides a quick introduction to creating Windows Help files.
Microsoft HTML Help 1.x

This is the second help technology from Microsoft.
HTML Help offers some distinct advantages over standard HTML, such as the ability to implement a combined table of contents and index and the use of keywords for advanced hyper linking capability. The HTML Help compiler (part of the HTML Help Workshop) makes it possible to compress HTML, graphic, and other files into a relatively small compiled help (.chm) file, which can then be distributed with a software application, or downloaded from the Web.
Developers can use the HTML Help API to program a host application or hook up context-sensitive help to an application. As an information delivery system, HTML Help is suited for a wide range of applications, including training guides, interactive books, and electronic newsletters, as well as help for software applications.
HTML Help consists of an online Help Viewer, related help components, and help authoring tools from Microsoft Corporation. The Help Viewer uses the underlying components of Microsoft Internet Explorer to display help content. It supports HTML, ActiveX®, Java™, scripting languages (JScript®, and Microsoft Visual Basic® Scripting Edition), and HTML image formats (.jpeg, .gif, and .png files). The help authoring tool, HTML Help Workshop, provides an easy-to-use system for creating and managing help projects and their related files.
Downloads and References
- To download this toolkit with document references, please visit here.
- For more details about this help technology, please visit here.
Microsoft Help 2.x

This is the recently introduced help technology from Microsoft.
Microsoft Help 2.x is the next-generation help system for Windows operating systems. It incorporates such technologies as Hypertext Markup Language (HTML) and Extensible Markup Language (XML), and ActiveX to provide users with a standard UI that is based on Internet Explorer. With Microsoft Help, you can do the following:
- Author Help topics using HTML, DHTML, XML, VBScript, and JScript.
- Incorporate such features as a table of contents, keyword search, and attributes into Help collections.
- Use dynamic filtering to make it easier for users to narrow the scope of presented information, and locate the topics that are most relevant to the task at hand.
- Compile a set of Help topics into a single, highly compressed Help (.HxS) file.
- Easily manage large document sets.
Microsoft Help 2.0 is created with Microsoft Help Workshop, which is open in the Visual Studio .NET integrated development environment (IDE). This integrated set of Windows-based tools provides a complete authoring environment for creating Help. The IDE contains a variety of editors and project build tools that enable you to create, test and refine your Help all in one place.
The following diagram shows the basic process for creating Microsoft Help 2.0 either through new content or conversion of existing Help files.

Downloads and References
This can be used by software developers and Help authors who want to extend the Help content in Visual Studio .NET or provide documentation for components, add-ins, form elements, and libraries. This release of the Help Integration Kit targets Visual Studio .NET 2002.
File extension comparisons
The following table summarizes the file extensions, application exe files, compilers, viewers of the above three Microsoft help technologies:
|
MS Help 2.x |
HTML Help 1.x |
WinHelp |
Description |
|
.HxC (XML) |
.hhp/.col (INI) |
.hpj |
Project file / Collection file. |
|
.HxS/.HxI |
.chm/.chi |
.hlp |
Compiled help file. HxI is normally inside the HxS help file but can be compiled as a separate file for CDROM disks. |
|
.HxT (XML) |
.hhc (Sitemap) |
.cnt |
Table Of Contents file. |
|
.HxK (XML) |
.hhk (Sitemap) |
--- |
Index file. H2 may have multiple indexes. |
|
HTML |
HTML |
RTF |
WinHelp was RTF based. |
|
DExplore.exe |
hh.exe |
winhelp.exe |
Default Help viewer. |
|
hxcomp.exe |
hhc.exe |
hcrtf.exe |
Command line compiler. |
|
Help 2.x collections |
Merged CHMs or MSDN collections |
Yes |
Modular Help |
|
Topic attribute filters |
Info Types (did nor work) |
No |
Content filtering. |
|
Data services |
No |
No |
H2 has programmatic access to data via COM (documentation not released by MS). |
|
<mshelp:keyword> |
<object> or <meta> |
-- |
Help 2 now uses XML elements instead of object and Meta tags. |
|
<mshelp:link> |
<object> |
-- |
Help 2 now uses XML links instead of objects |
References
- helpmaster.com
Here you will find the world's largest selection of WinHelp, HTMLHelp and HTML related files and hints.
- helpware.net
Here you will find support for MS HTML Help 1.x andMS Help 2.0, FrontPage and Delphi.
- winhelp.net
This site is your one-stop place for tips and information about developing WinHelp and HTML help files.