With the release of Windows Vista, Microsoft has decided that the good old WinHelp format no longer meets its standards. When your users try to open a .hlp file on Windows Vista, they'll get an error message saying your application is using an outdated format for its help. This makes your products look obsolete, and will cause users to worry if they'll bump into more serious issues with your software later.
Microsoft does make the WinHelp viewer available as a separate download. There's a different download for different versions of Windows:
The WinHelp viewer is not available for Windows 10 and 11 or for Windows Server 2012 and later. Microsoft has stated that WinHelp will not be supported on Windows 10, Windows Server 2012, or any future versions of Windows or Windows Server.
Windows Vista, 8, 8.1, 10, and 11 do support the HTML Help format based on .chm files. This is the same help file format introduced with Windows 98. It is also fully supported by Windows ME, 2000, and XP. Converting your help file to HTML Help will bring your application up to date. Your help file will work on 99% of all the Windows PCs in use today.
Compiling your help file as a .chm file is trivial if you previously used HelpScribble to create your WinHelp files:
That's all there's to it. Using a help authoring tool like HelpScribble is a smart investment. Since the HTML Help format also has its share of problems, it's quite likely it will be next on Microsoft's chopping block. When Microsoft releases a new help format, we'll add a new compiler option to HelpScribble, allowing you to trivially migrate to the new format once more.
If you previously used another help authoring tool, or suffered through the manual process of creating HLP files from HPJ and RTF sources, you can still use HelpScribble to make your help file ready for Windows Vista, 7, 8, 8.1, 10, and 11. It only takes a few extra steps.
If your application used your WinHelp file to implement context-sensitive help, you'll need to update it to use your new HTML Help file instead. Depending on the development tool you use to create your software, this may be as trivial as changing the file name of the help file your application uses.
Most development tools have built-in HTML Help support these days, or support it via downloadable libraries. If yours doesn't, you can always call the HtmlHelp() API directly.
Examples for Particular Development Environments:
Since WinHelp and HTML Help are rather different technologies, there are some minor issues that you may need to overcome when converting your help files. The main difference is that WinHelp is based on RTF (Rich Text Format), while HTML Help is based on HTML. RTF is designed as a portable format for word processors like MS Word, while HTML is designed for the Internet. I recommend that you set aside an hour or two to proof-read your new CHM file, with particular attention to the layout of the text.
An issue you're likely to run into is that HTML does not support tabs like RTF does. If you've used tab to lay out tables or columns in your WinHelp files, you'll need to make sure they're converted properly. Many help authoring tools simply convert each tab into a space, which completely messes up the text's structure. HelpScribble uses SPAN tags to emulate tabs in HTML. The only thing you need to do is to make sure to set exactly one tab stop on the ruler in HelpScribble for each tab you're using in the text. Then HelpScribble will convert your tabbed layouts perfectly.