Windows Vista does away with trusty old WinHelp.
The first and most obvious limitation of Vista, by design, is that the new operating system no longer supports WinHelp, the trustworthy help system that we have been using under Windows for well over a decade. There is no backward compatibility here; instead, programs are encouraged to use HTML Help. Fortunately, the minimum platform for HTML Help is Windows 98, or Windows 95 with Internet Explorer 4 installed, so support is none too onerous (though forcing us to change is somewhat distasteful).
The lack of WinHelp support has been documented quite well, but what has not been published as widely is the practical result when attempting to open a standard .HLP file under Vista. Fortunately, it is not a disaster for most publishers, since Windows attempts to explain the problem (rather than causing the program to crash). When a WinHelp file is referenced, Vista displays an HTML Help window with the following topic and text:
Why can’t I get Help from this program?
The Help for this program was created in Windows Help format, which was used in previous versions of Windows and it is not supported in Windows Vista.
For more information, see Windows Help program (WinHlp32.exe) is no longer included with Windows on the Microsoft support website.
Note that this knowledge base article does not, as of this writing, provide the promised download location for a viewer for WinHelp files. It does, however, go out of its way to make it clear that we developers may not redistribute this tool, a prohibition which seems rather pointless given that Microsoft has not finished it yet. Perhaps they should develop a product first before starting to exercise intellectual property rights.
The WinHelp solution that Microsoft proposed, that a publisher could send a user to a download location to get a viewer that would allow that user to view the help file, is clearly not viable, now that Vista is in general release without the requisite viewer. Therefore, it becomes necessary for a publisher to generate an updated version of all supported products that must be converted to use HTML Help instead of WinHelp.
Fortunately, most professional help editors for Windows now have support for both WinHelp and HTML Help, as well as other formats in many cases. Here, we use Help & Manual 4.2, by EC Software, which made short work of conversions from .HLP to .CHM files, even where the original source files were not available, though I know that other tools, such as HelpScribble from Jan Goyvaerts of JGsoft, would work as well.
Converting a help file from WinHelp (.HLP) to HTML Help (.CHM) is the data half of the battle. Tomorrow, I will provide the simple (C/C++) details for modifying source code to call the newer help file format. The code changes are definitely simple for a basic help system, making that the easier half.