Any good readymade free software or idea where we can document our home made software

Posted on 2011-09-29
Last Modified: 2013-11-13
Any good readymade free software or idea where we can document our home made software.
Like help file which we Press F1 and it pops up. similar will also work.
we want to link every report and form and write comments for user view and one window to write comments for IT Dept only.
Or if you recommend to develop in house please give some brief idea
Question by:mahmood66
  • 4
  • 4
  • 3
  • +2
LVL 62

Expert Comment

by:☠ MASQ ☠
ID: 36813254
For context sensitive help you're probably best using an HTML based system like a .chm file.  There are a number of .chm editors in the market
Then write two versions one aimed at tech support and one for users - or if you are feeling brave a combined one! ;)

Author Comment

ID: 36813320
in which editor we should write this help text which can be view able in .chm?
recommend any good editor also
LVL 19

Expert Comment

by:Rikin Shah
ID: 36814078
The program is called Microsoft HTML Help 1.4, and it makes .chm files that you can use in your applications. I've used it before, and I think it's really good.

Official site: Here

Direct link to download:

Rikin Shah
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  


Author Comment

ID: 36896507
Can we link any page to our software forms or reports. if somebody is opening a form no1 and they press F1 key then this help will open the related page from the help which is realted to our currently in view form?
LVL 62

Expert Comment

by:☠ MASQ ☠
ID: 36896690
Yes you can map specific pages of your compiled HTML help file - this is called context sensitive help.  Some more detail and further links here
LVL 38

Accepted Solution

BillDL earned 250 total points
ID: 36896943
In Windows XP the Windows Help (Compiled HTML or *.CHM) file type is opened using "C:\Windows\HH.EXE".  The command is:
"C:\WINDOWS\hh.exe" %1
where the %1 is replaced with the full path to the *.CHM file.

Navigate to "C:\Windows\Help" and take note of a CHM file in there, then execute the command with the path to the file, for example the Windows Calculator help file:
%SystemRoot%\hh.exe C:\Windows\Help\calc.chm

The CMH file contains a separate Table of Contents in the left pane and the results pane on the right.  If you RIGHT-Click in the Right pane and choose "Properties" you will see what internal page has been loaded, eg. the "Calculator Overview" page which will show in the properties dialog an "Address (URL)" property similar to the prioperties of a standard HTML web page showing in your browser.

The difference is that, instead of the "protocol" being HTTP:// or FTP:// or FILE:// the protocol used by Windows Help is: "MS-ITS:"

In the Calc.chm example, the "URL" of the page showing on the right is:
which is telling HH.exe to load the named *.CHM file, and then find and show the "calc_whatis_intro.htm" file that is inside the *.CHM file.

Copy that URL for now, and them open another page using the linked chapters in the Table of Contents pane on the left, for example the "Use Digit Grouping" link:
So, you are now on the "calc_separator.htm" page.

Now, either RIGHT-Click in the LEFT pane or Left-Click on the "Calculator ?" icon in the very top left of the help window.  You will see a "Jump to URL" option.  A new dialog will open showing the (non-editable) field with the URL of the current page being viewed, and a "Jump to this URL" field into which you can paste the URL to the "Intro" page you copied earlier.

That works like the Address Bar of an Internet Browser.  The Table of Contents pane on the left is just one "frame" of a web page containing hyperlinks, and the Right pane is the full page that loads in a separate "frame" while still leaving the table of contents the same.

In a web page that uses separate frames, hyperlinks in a left-hand frame instruct the browser to load in a large right-hand frame (named "main" in this case) using hyperlinks like this:
<p><a target="main" href="page1.htm">Link to page 1</a></p>
<p><a target="main" href="page2.htm">Link to page 2</a></p>
and such a page would behave very much like a CHM file, loading each page into the main viewing pane.

In the "Calculator Overview" page of the calc.chm help file, you will see a "Related Topics" link.  You can see its properties by Right-Clicking, and in this case it is:

its:C:\Windows\Help\calc.chm::/CHM=calc.chm;windows.chm;howto.chm META=a_calc_simple;a_calc_scientific;a_app_calculator

That type of hyperlink shows a popup with three different clickable links, something like a JavaScript message in a browser.  It links to 2 external *.CHM files and to itself, and the "META" references are to "Bookmarks" within the matching CHM files.

In a web page showing in a browser, a hyperlink can be made to jump to a place within the same document (a bookmark) by setting some text or image in the HTML file as a "Name" and then making your hyperlink jump to that "Name".

For example, if I have a heading entitled "Conclusion" I can set it as a bookmark like this:
<a name="conc">Conclusion</a>
and I can have the "Go To Conclusion" text jump to that section like this:
<a href="#conc">Go To Conclusion</a>
This is similar to how the "META" items in a CHM file's hyperlink work.

In your Calc.chm file, click on the "Perform a Simple Calculation" link in the left pane.  In the page that loads in the right you will see that the word "operators" is a hyperlink.  If you click on it, a "Tool-Tip" popup shows you tips in a similar way to a JavaScript popup could on a standard web page in a browser.

If you Right-Click on the "operator" link and choose Properties, you will see a URL like this:
ms-its:C:\Windows\Help\calc.chm::/HELP=calc.hlp TOPIC=CALC_UP_OPERATOR
The "ID=" and "TOPIC"=" are very much like an HTML page in a browser can be told to display content in a particular way by assigning a hyperlink a special "ID" and referring it to a specific "Style" defined in the page or in an external *.CSS (Cascading Style Sheet) file.  In this case, the code in the HTML file in the Help File is:
<A ID="wPopup" HREF="HELP=calc.hlp TOPIC=CALC_UP_OPERATOR">operators</A>

So the "ID" is "wPopup" and this just makes the "operator" link show as red when hovered on, and green after the target page has been visited:

#wPopup {}
a:link#wPopup, a:visited#wPopup {color: #006600;}
a:hover#wPopup, a:active#wPopup {color: #FF0000;}

This style is contained in "coUA.css" which is packed into the shared CHM file "ntshared.chm".

The "TOPIC" named "CALC_UP_OPERATOR" is the associated name that allows the internal Windows Help Search function to find related "Topics", and this can be demonstrated by flipping to the Search tab in the left pane and typing "operators".  It will show a dialog with the titles of other pages in the help file that have that same "operator" link.  The popup tool-tip's behaviour and appearance are defined by the "popup"-related functions in the shared JavaScript file "shared.js" that is packed into "ntshared.chm".  As to where the actual text that shows in the Tool-Tip is supplied from, I would have to go searching the files.

It should be clear by now that, although a CHM file is very similar to what an Internet browser loads from web page (along with its images, JS, CSS, and other files), that even a relatively simple Windows Help File contains a lot of different components.  If you really want to see what is packed inside your "calc.chm" file, do as follows:

1. Copy it to some other non-System folder, eg. "C:\Unpacked_CHM"
2. execute the following command to unpack it to the same folder as the CHM file:
C:\Windows\HH.EXE -decompile C:\Unpacked_CHM C:\Unpacked_CHM\calc.chm

You will have a Table of Contents file (*.HHC), an Index file (*.HHK), and the 13 *.HTM files that show the content.  The other resource files (GIF, CSS, and JS) that are in "ntshared.chm" and are shared by the other Windows Help Files, can be opened from that file using the following commands:


You can also Right-Click on any page opened in a Windows Help File and choose "View Source", just like you can for a web page opened in a browser.

To use the Microsoft HTML Help Workshop, as mentioned my Masqueraid and linked to by rikin_shah, you FIRST have to have all the HTM files that you want to show the content.  It is obviously easiest to create these in a standard web page editor in one project folder so that all the hyperlinks to the other pages are kept relative to the CHM file that will be created.

It is then a case of following the associated help for the HTML Help Workshop to help you build your Index and Contents files and compiling all the resources into one help file.

It should be noted that there ARE "converters" out there that allow you to convert Word documsnts and some other formats into compliant CHM files, but you will not get away from the fact that you are going to have to WRITE all your help topics yourself.

I hope this helps you understand the format used by Windows Help Files.

Author Comment

ID: 36898631
how to create CHM file is not clear to me. is it a HTML file. in Word I dont see any file format which is CHM for saving
LVL 62

Expert Comment

by:☠ MASQ ☠
ID: 36899088
Try BillDL's comprehensive response again.  You create HTM files in whichever editor you choose, then compile them using the .CHM editor.  Word does not support .CHM

Try taking an existing .CHM file apart as suggested, there's a sample file included with the editor or use something already on your PC like the help file for calc.exe
LVL 38

Expert Comment

ID: 36899772
Hello Mahmood

I am sorry if my long comment confused you.  I understood from your question that you are a software programmer and that your company has created some of its own software.  That is why I went into some details about what files all go into a CHM file.

CHM means "Compiled HTML".  A CHM file is something like a ZIP file.  It has loads of other files packed into it.  The files can be accessed and opened by the Windows Help program "HH.EXE" without actually having to unpack all the files again, something like how WinZip allows you to open a ZIP file and read one of the files inside it.

A CHM file is NOT a Zip file though.  You have to create all your files in an Editor and then pack them all together into one file with a Compiler.

rikin_shah mentioned the free "Microsoft HTML Help Workshop".  Masqueraid provided some links where you can download this application.  Here is another link:
The "htmlhelpj.exe" is the Japanese documentation, so ignore that one and download the installer (htmlhelp.exe) and the reference documentation (  It comes with very comprehensive documentation.  There are also some additional references about it here:

Once installed, Windows Update will look for specific updates for the installed components when it is run next, so after installing it I would suggest that you run Windows Update.

Here is a page where somebody has made a good attempt at describing how to use the HTML Help Workshop (Ignore the big adverts in the page):
and there are some example projects available:
- Basic HTML Help Workshop Sample:
- Example 2 - Context Sensitive Help:

Here is another "How To Use" page with screenshots, and it looks very well written:

Here is a "Getting Started" page that only has written instructions in steps, but no screenshots:

The Microsoft HTML Help Workshop is an editor and a compiler, and has all the tools to create a CHM file from nothing, including a little image editor, but if you have looked at the screenshots in the pages linked to above you will see that you can only create separate pages by typing up all the HTML code and then previewing it like this:
If you are looking for an easy way to create your pages where you do not have to type up all the code, then you need to do either one of the following:

1. Use a web page editor that creates very basic HTML and doesn't make the code too fancy.
2. Buy another HTML Help design application.

There are a lot of applications, but you will usually have to pay.  For example:

A fully featured programming suite by the look of it:

I haven't tested any of these.
Just search google for "Windows Help Authoring".

There are other applications that allow you to design your HTML files in MS Word and then use the installed Microsoft HTML Help Workshop program to export your Word docs to a CHM file:

You should be aware that the HTML Help specification has evolved from Version 1.x (up to Windows XP) into a new Version 2.x.  The up to date version is very complex and only certain applications will allow you to design and compile in this format.

See here:

Generally people will be using Microsoft Visual Studio to create version 2 Help Files.

Version 1.x Windows Help files should still work perfectly well in the most recent versuions of Windows though.

Hopefully this explains what is needed and helps you to decide what to do about it.

LVL 38

Expert Comment

ID: 36899802
You might also want to take a look at the "Sandcastle Help File Builder":
"Sandcastle, created by Microsoft, is a tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comments files. The current version is the June 2010 release. It is command line based and has no GUI front-end, project management features, or an automated build process like those that you can find in NDoc. The Sandcastle Help File Builder was created to fill in the gaps, provide the missing NDoc-like features that are used most often, and provide graphical and command line based tools to build a help file in an automated fashion."

It is all very much more complex than the simple HTML Help Workshop, but if you are programmers then you should be able to understand it.
LVL 25

Expert Comment

ID: 36924214
I'm using FastHelp since 5 years (not free but easy to use)
can generate those formats
    HtmlHelp (.CHM)
    WinHelp (.HLP)
    Website Help
    Printable Manuals
    MS Word Manuals
    Windows Mobile Help
    wxWidgets Help

Author Closing Comment

ID: 36941442
complete solution. thanks for the help
LVL 38

Expert Comment

ID: 36947098
You are very welcome Mahmood.  Good luck with your project.

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If your app took Google’s lash recently, here are the 5 most likely reasons.
In this article, you will read about the trends across the human resources departments for the upcoming year. Some of them include improving employee experience, adopting new technologies, using HR software to its full extent, and integrating artifi…
An overview on how to enroll an hourly employee into the employee database and how to give them access into the clock in terminal.

822 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question