Monday, January 31, 2011

Microsoft Help Viewer 1.0 or MS Help 3.0 :- VS 2010

Along with Visual Studio 2010 , we have new help system from Microsoft .  Previously there was Document explorer based help system  known as MS Help 2.x ,  now we have new browser based help system known as Microsoft Help Viewer 1.0  or MS Help 3.x . Starting with VS 2010 we will get our help documentation  in browser instead of Document Explorer window.  Integration of  our own library documentation with MS Help 3.0 has changed from previous process of MS Help 2.0 where we have to register our collection with help system.

Targeting  MS Help System 3.0  requires generating help files in Help 3.0 format ( i.e  .msha, .mshi, .mshc ) . To generate help documentation from source code commenting we have excellent tool called Sandcastle help file builder. Sandcastle support varied help document formats and MS Help 2.0 & MS Help 3.0 are among the generated help documentation formats.  Sandcastle is available at codeplex  : -- http://shfb.codeplex.com/ . We can provide project or solution file to Sandcastle for help documentation generation from source code commenting in MS 2.0 or MS 3.0 format.

After our help files are generated  we have .mshc (help container file), .mshi (index file), .msha (product manifest file)  as help files.  If  you already have help documentation in MS Help 2.0 format , you can use mshcmigrate tool to convert MS Help 2.0 files to new MS Help3.0 files instead of  using sandcastle .   Mshcmigrate tool can be found at :- http://mshcmigrate.helpmvp.com/home#TOC-Download

Now we have our help files in place , the only thing that is left is to integrate our help documentation with MS Help system 3.0 .  New Microsoft Help System or MS Help Viewer 1.0 is not a standalone product and is only installed along with VS2010 or Windows 7 sdk.  New help system comprises of  two services Help Library Manager and Help Library Agent.  Help Library Manager is the application that we are going to use for our help documentation installation.

To launch the help library manager application we go to All Programs –> Microsoft Visual Studio 2010 –> Visual Studio Tools-> Help Library Settings.

This will launch help library manager that will ask for the location of local help content store if not already configured. Next step is to navigate to our .msha file through Help Library Manager and select the .msha file for installation.  Help library Manager gives us the option of installing , removing and updating help contents.

In new help system ,  Help Library Agent is the service responsible for opening the help document urls in browser .  As new help is browser based so we have new url protocol to open the  Help 3.0 document pages . This protocol ms-help:// is associated with Help Library Agent. So we used Help Library Manager to install our library help in local help store. We can access our help documentation using the VS studio help menu , which shows all the help content installed or we can use the H3Viewer utility to access and see our help documentation . H3Viewer utility can be found at :---------http://mshcmigrate.helpmvp.com/viewer

Now if we are installing our custom help 3.0 files through installer , we can  use Help Library Manager exe with some command line parameters . For installing the help files silently using  Help Library Manager, without showing the dialog for installation option , we have to package our help content into a cab files  and then digitally sign it. We can use makecab tool and create digital certificate to sign out cab file using  signtool utility.

http://helpware.net/mshelp3/intro.htm

http://visualstudiogallery.msdn.microsoft.com/6a1211d5-1be9-4768-92a8-aa8af2c8cba4/