Fixing MS Help 2


Fixing H2 Runtime

1. Table of Contents is disappearing

If your VS 7 help Table of Contents is disappearing after installing 3rd party software this is more likely to be the vendor's Help Collection not setup correctly. A small syntax error typically makes the TOC entire disappear. Contact your software vendor. Often unplugging the 3rd party collection from MS.VSCC.xxxx will make the TOC reappear. A reboot may be required.

2. Some MS Help 2 Links don't work

Luca reported that all <MSHelp:Link> type MS Help 2 links failed to fire. Links were rendered as underlined text but mouse cursor didn't change to pointing hand and clicking did nothing. Normal <a> type links worked correctly. Luca tried all the tricks (see below) then finally discovered the problem was related to the MSIE component. After running IEFix the problem was resolved.

How to Uninstall/Reinstall MS Help 2 -- The recommended way

The recommended way (Note that Document Explorer is part of MS Help 2.x).

STEP 1 - Add-ons and SDKs

Try and REPAIR or REINSTALL anything that plugs its documentation into the MSDN Documentation (eg. Software Component. VS SDK etc). If that does not work then try to UNINSTALL all these add-ons.

STEP 2 - H2 Related Software

If the problems persist then try to REPAIR or REINSTALL all applications that install MS Help 2.x & Document Explorer.

The following applications install MS Help 2.x
  • Visual Studio .NET 2002/2003/2005
  • MSDN Library (newer versions use MS Help 2.x)
  • Tech Net (newer versions use MS Help 2.x)
  • .NET Framework SDK (now part or MSDN od Platform SDK I think)
  • Microsoft Office XP Developer (not regular Office)
  • Microsoft Office 2007
  • Microsoft Document Explorer 2005
    • Note that DExplore now shows up as a separate installation in Add/Remove Programs (since VS 2005, MSDN 2005). So when installing/uninstalling/repairing make sure you do this item as well. Note that installing it is still done by installing one of the other items in the list. If problems persist then try to UNINSTALL these applications.

Please also read this post from Maria Shneerson [MS] from the Microsoft Forums
In general, I would like to point out that it is very dangerous to remove registry and files manually - you can get your machine in a completely broken state.

I would recommend modification of the step described above

Uninstall all application using Help (VS, MSDN, .NET Framework SDK (keep .NET Framework 2.0). Finally uninstall Microsoft Document Explorer 2005.
Check that "C:\Program Files\Common Files\Microsoft Shared\Help" folder is gone. If it still exists, it means you did not uninstall everything in step 1.
Check if "C:\Documents and Settings\All Users\Application Data\Microsoft Help" folder is empty. If it is not, rename it (do not delete it completely.
Reinstall applications uninstalled in step 1. (when you install VS or MSDN, you will be prompted to reinstall Microsoft Document Explorer as well)Maria Shneerson, MSDN

If you get MSI Errors when removing software see MsiFix (eg. those infinite uninstall loops that happen when MSI screws up).

How to Uninstall/Reinstall MS Help 2 - Brute Force Way

Warning: This is not a Microsoft recommended way to repair help and if customers contact MS (through forums and PSS) they need to mention that they attempted to delete stuff from their registry and hardware.

If things are really broken with Help 2 then I would removing MS Help 2 from the machine by hand.
But 1) please try the previous "recommended" way first. 2) Only do this only out of shear desperation (ie. the next thing you were going to try was a reformat of the hard disk). 3) You are a developer who knows their way around the hard disk and registry.

STEP 3 - Remove Old Namespaces Registration Info

Steps 1 & 2 should have wiped out everything H2.x related, but lets make sure there is nothing left.

Remove any remaining Collection Registration info from the hard disk.
Look for the following folders and if the exist RENAME them to another name.

All User folder: (May be "All Users.Windows" under XP)
  • c:\Documents and Settings\All Users\Application Data\Microsoft Help
Current User folder:
  • c:\Documents and Settings\{Your User Name}\Application Data\Microsoft Help
NB: If your system drive is not c:\ then check other local drives for these folders.

For more info on this folder see
http://kb.helpwaregroup.com/mshelp2/h2-faq#TOC-Q.-How-do-I-unregister-files...
All User registration info is kept in this folder.
c:\Documents and Settings\All Users\Application Data\Microsoft Help
or c:\Documents and Settings\All Users.WINDOWS\Application Data\Microsoft Help

User restricted registration info is kept in a similar folder. From memory...
c:\Documents and Settings\<UserName>\Application Data\Microsoft Help

nslist.hxl - Contains list of all registered namespaces.

A collection registration under Namespace = XYZ, Locale 3081 = English (Australia).

XYZ.hxn -- Namespace info for XYZ.
XYZ_3081_MKWD_A.HxW HxW - Merged Associated Index.
XYZ_3081_MKWD_F.HxW HxW - Merged Context Index.
XYZ_3081_MKWD_K.HxW HxW - Merged Keywords Index.
XYZ_3081_MKWD_NamedUrlIndex.HxW HxW - Merged Named URL Index.
XYZ_3081_MValidator.Lck Lock file
XYZ_3081_MValidator.HxD ?
XYZ_3081_CValidator.HxD ?
XYZ_3081_FiltersCache.HxG Filter Cache ?
XYZ_3081_MTOC_NS.HxH Merged TOC file

Maybe you need to delete some registration info files. However the safest way to unregister files is to use a tool like Namespace.exe (comes with VSHIK) or FAR (shareware from http://helpwaregroups.com/products/far/ ).

Problem if you remove files before they are first unregistered the H2 API is not happy and will fail to unregister. FAR on the other hand will successfully unregister collections even if files have been removed.

STEP 4 - Remove any remaining stuff by hand.

Make sure all MS Help 2 runtime files are completely gone.
Note: Best to Rename rather than Delete Disk and Registry items incase you want to roll back.

3.1 Rename any H2 Runtime folders from disk
  • Help Runtime: c:\Program Files\Common Files\Microsoft Shared\Help\
  • SDK Folder: c:\Program Files\Microsoft Help 2.0 SDK\
NB: If your system drive is not c:\ then check other local drives for these folders.

3.2 Make sure all Registry Info is gone
  • Search registry for hxvz.dll - Rename sections if found.
  • Search registry for hxds.dll - Rename sections if found.

STEP 5 - Reboot and Reinstall all SoftwareReinstall all your software.

Note that Microsoft Document Explorer 2005 (used by MSDN Help, VS /NET Help, Office 2007 Help etc) can only be installed by installing one of these applications (see full list above).

Good luck Rob
Comments