Click here to Skip to main content
Licence 
First Posted 28 Apr 2005
Views 39,286
Bookmarked 34 times

Explore Your Documents - The Big Picture

Giving overall picture about Microsoft Help technologies.

Sample screenshot

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:

  1. WinHelp
  2. Microsoft HTML Help 1.x (CHM)
  3. 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

Sample screenshot

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

Sample screenshot

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

Sample screenshot

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.

Sample screenshot

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.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Venkatakarthikeyan Natarajamoorthy

Software Developer (Senior)

United States United States

Member

Venkat Nataraj works as a Technical Consultant for GE Healthcare, USA. Earlier, he worked as a Software Tech Lead for Dell Inc, System Analyst for Satyam Computer Services and Software Engineering Consultant for GE Power Systems, Bently Nevada. He is an MCSD.NET early achiever. He has been working in the last 11+ years in software design and development of leading-edge business solutions with various development tools, technologies, platforms, and architectures. Here is the latest certifications by him:
 
• General Electric (GE) Certified GE Green Belt in Six Sigma
• Microsoft Certified Professional (MCP)
• Microsoft Certified Application Developer for Microsoft .NET (MCAD.NET)
• Microsoft Certified Solution Developer for Microsoft .NET (MCSD.NET)
• MCSD.NET Early achiever
• Brainbench Certified Visual C++ programmer
• Computer Society of India (CSI) awarded first place in the inter-college Computer Quiz Competition
• Computer Society of India (CSI) awarded first place in the inter-college Software Contest
• Received “Process Innovation” award from Dell Inc
 
He spends his free time with music, watching hollywood movies and Sujatha's stories. His favorite musician is Ilayaraja. Bringing real music to his soul and heart. Hariharan is his most favorite singer.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralCustom viewer for HXS file ! Pinmemberlazypig8315:49 1 Dec '08  
Questionhow to use WinHelp(.hlp) file in .Net2005 PinmemberMember #351045922:56 1 Feb '07  
Generalto display a htm file from a chm Pinmemberdeepualuru18:42 5 Nov '06  
hi!
i need to use a CHM file and display a htm file using the CHM file using a help.showhelp().
with regards,
Asha.
 
hi!

QuestionRe: to display a htm file from a chm Pinmemberentraped.isoLated23:51 24 Jul '07  
Generalusage of nDoc and forget everything else PinmemberTittle Joseph20:08 28 Feb '06  
GeneralRe: usage of nDoc and forget everything else Pinmemberbrunocol9:14 12 Mar '06  
GeneralRe: usage of nDoc and forget everything else PinmemberVenkatakarthikeyan Natarajamoorthy0:02 20 Jul '06  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 28 Apr 2005
Article Copyright 2005 by Venkatakarthikeyan Natarajamoorthy
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid