Help Compiler

Recently our team has migrated from Visual Studio 6 to Visual Studio 2005. This was a long overdue upgrade. We skipped over some intermediate versions of the tool. And I think it made our migration more difficult. Most of our applications are old and have no built in help systems. However one recent application has a pretty good contextual help system. The developer tasked with migrating that application complained that the compilation for the help bombed immediately.

After a bit of research, the developer found that Visual Studio 2005 does not by default install the Microsoft Help Compiler. This seemed very strange. What was Microsoft thinking? They do provide a freely downloadable help compiler. Maybe developers no longer ship help with their applications. Or maybe they use other tools like RoboHelp from Adobe. I don’t know.

I believe Microsoft ships its Visual Studio 2005 on DVD. There should be plenty of room on that DVD for the Help Compiler. Not including it has made our life a bit more complicated. It is no big deal for developers to download and install the help compiler. But things get tricky for other individuals. Our configuration management team normally does our builds. They did not know how or where to install the Help Compiler.

To tell the truth, I have not even installed the Help Compiler on my machine. I guess I will not be building that application locally any time soon. Before completing this post I decided to browse the web to find out why Microsoft chose not to include the Help Compiler with Visual Studio. I think I quickly found out the answer. Microsoft’s new solution for help is HTML Help. Perhaps the old Help Compiler (which Microsoft calls the WinHelp Compiler) is going out of style.

My hope is that Microsoft does not leave us stranded having developed an extensive WinHelp component to one of our applications. Why convert to a new HTML Help system when it will not improve our end user experience any? Knowing Microsoft, I had better brush up on the new HTML Help system to be safe.