FAQ

For Help Viewer 2.0 see hv2.helpmvp.com

Help Viewer 1.x Releases

Version numbers for Help Viewer runtime files (HelpLibAgent.exe, HelpLibManager.exe, Microsoft.Help.dll).
Help Viewer 1.x is currently only available with Visual Studio 2010.

VS 2010 Pre-Release

  • 10.0.21006.1 -- VS Beta 2 (Public).
  • 1.0.21125.1 -- VS RC LCTP1 (Internal).
  • 1.0.30109.1 -- VS RC LCTP3 (Internal).
  • 1.0.30128.1 -- VS RC (Public). 
  • 1.0.30306.1 -- VS RC LCTP4 (Internal 8-Mar-2010)
Release
  • 1.0.30319.1 -- VS 2010 RTM released 12th April 2010 (Help Viewer 1.0)
  • 1.0.40219.1 -- VS 2011 SP1 released March 2011 (Help Viewer 1.1)

Runtime files

Runtime files are installed to 

c:\program files\Microsoft Help Viewer\v1.0\
  • .NET Assemblies
    • HelpLibAgent.exe - Main run-time. For 1.0 this appears in Windows taskbar tray.
    • HelpLibManager.exe - Help Configuration. Add\remove help packages. Change VS Online\Offline help mode.
    • Microsoft.Help.dll - Common help library code.
    • *.config - Each executable has a xml file containing various configuration switches.
    • HlpViewer.exe - For 1.1 only. New standalone help viewer introduced in HV 1.1.
  • Win32 Executables
    • Sqlapi.dll - win32 API used by lots of MS apps. Software Quality Metrics. I assumed this is used by VS if you opt into uploading stat data to MS.
  • Branding
    • Help3Branding.mshc - Default catalog branding package. Help3Branding-IE6.mshc used for IE6 browser.
    • Dev10.mshc - Branding package shipped by VS install for VS\100\* catalogs. Dev10-ie6.mshc is for IE6. This file is installed by VS Setup not Help Setup.
  • Help
    • MSHelp3_1_en-us.cab - Help On Help. Installed by default into all catalogs when created.
  • Sub Folders
    • \CatalogInfo\vs_100_en-us.cab -- Newer Help On Help ships with VS install.
    • \StopWords\  -- This stop word files don't seem to be working for the 1.x release.
    • \Microsoft Help Viewer 1.0\ -- Installer.exe and MSI for Help Viewer 1.0.
      Run Install.exe to Repair/Remove help runtime.
    • \Microsoft Help Viewer 1.1\ -- Installer.exe and MSI for Help Viewer 1.1.
      Run Install.exe to Repair/Remove help runtime.
    • \en\ -- Resource dlls for 3 main executables.

Documentation for MS Help Viewer 1.0

Documentation on Help Viewer 1.0
Help Viewer 1.x Readme files

Location of Help Viewer files

To find the MS Help Viewer applications and data store look in the registry

For RC & RTM release
  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help]
  "AppRoot"="C:\\Program Files\\Microsoft Help Viewer\\v1.0\\"
  "LocalStore"="C:\\ProgramData\\Microsoft\\HelpLibrary\\"

For Beta 2 the registry keys were...
  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help3]
  "AppRoot"="C:\\Program Files\\Microsoft Help\\v3.0\\"
  "LocalStore"="C:\\ProgramData\\Microsoft\\Help3\\"

Both these registry items (AppRoot= & LocalStore=) exist if help is installed. Initially (first time install before HLM is run) the local store folder wont exist and 
LocalStore= simply reflects the default location. Once HLM is run and you confirm the location of the local Library then LocalStore= reflects the actual location of the local store.

64 Bit Windows

You will find that the 64 bit registry location contain both AppRoot= and LocalStore= settings. However the 32 bit registry area (on a 64bit machine) does not contain LocalStore=.

By default most 32 bit apps only read the 32 area. So on a 64 bit machine you will need to use the KEY_WOW64_64KEY access flag so your 32 bit application can access the 64 bit area of the registry.

Access = KEY_WOW64_64KEY or KEY_READ 


HTTP Listening Port for MS Help Viewer


See the MS Help Viewer ReadMe file for details of how to change the local host HTTP port.
The RTM & RC releases use port 47873 which is pretty safe. The Beta 2 release used port 81 which was a problem. 

HelpLibManager.exe Exit Codes

If you have Reflector you can read these from the Help executables. The descriptions come from the help on help documentation shipped with VS.

Success = 0 (x0), The operation was successful.
InvalidCmdArgs = 100 (0x64), One or more command line arguments was missing or invalid.
MissingOrInvalidAppConfig = 110 (x6E), The application configuration file for HLM was missing or invalid.
FailOnMachineLock = 120 (0x78), The help content store could not be locked for update. This error typically occurs when the content is locked for update by another process.
MissingCatalogInfo = 130 (0x82), Files required to install content for a new product were not found.
InvalidCatalogInfo = 131 (x83), Files required to install content for a new product were invalid.
FailOnSettingLocalStore = 140 (x8C), The path specified for the /content switch is invalid.
InvalidHelpLocation = 150 (x96), The local content store is in an invalid state. This error occurs when the directory permissions do not allow writing, or a required file is missing from the directory.
NoBooksToUninstall = 200 (xC8), The arguments passed to HLM did not result in content being installed. This can occur when the content is already installed.
FailOnSilentUnInstall = 400 (x190), The removal of content failed. Detailed information can be found in the event log and in the installation log.
FailOnSilentInstall = 401 (x191), The installation of content failed. Detailed information can be found in the event log and in the installation log.
NonAdminSetsLocalStoreOnSilentMode = 402 (0x192), (Rob: Looks like non-admin trying to initialize the store using /silent switch)
Others = 999 (0x3e7), (Rob: I assume this is unknown error occurred)

How to install 3rd party help

To install help content call HelpLibManager.exe (HLM) using the appropriate command-line parameters. You can play with these command-line params using our mshcMigrate utility.

For detail see How to Install Help

HelpLibManager.exe command-line switches

Run HelpLibmanager.exe /? or /Help to list all switches
Note: Pre-RTM builds also had a /install switch. However this is no longer required now since /sourceMedia or /sourceWeb is enough to indicate an install.

Help Library Manager Usage : /? Or  /Help

Runs the Help Library Manager application to install, remove or update
documentation. You can also manage content settings.

Usage: HelpLibManager.exe /product xx /version yy /locale aa-bb
[/other parameters]

Example: HelpLibManager.exe /product vs /version 100 /locale en-us
/sourceMedia d:\productDocumentation\HelpcontentSetup.msha

Required Parameters:

/product <product code> Specifies the product  documentation to manage.

/version <product version> Specifies the product documentation version
        to manage.

/locale <locale id> Specifies the country and region of the product
        documentation to manage.

The following optional parameters are supported:

/noOnline Specifies that Help Library manager should not enable checking for
        updates online or finding new content online.

/sourceMedia <path> Specifies the HelpContentSetup.msha file to use to
        install documentation.

/mediaBooklist <List of book description files>
        This parameter is used for installing and uninstalling documentation.
        For installs, this is an optional parameter used to specify the
        book.html files that define each book to be installed. For uninstalls,
        this is a required parameter that specifies  the book names to
        uninstall. Use double quotes(") to enclose spaces in book names
        and use space as book delimiter.

/sourceWeb <URL> Specifies the http endpoint to use to locate books for
        local install.

/webBookList <List of URLs> Specifies the URLs that identify books to
        download for local install.  This parameter is ignored if the
        /silent switch is not present.

/silent Specifies that no graphical user interface displays during the
        installation or removal of content. See the Help Library Manager
        documentation for information on error codes returned for silent
        mode operations.

/content <path> Specifies the location to use for the local help folder
        if one has not been specified previously. This parameter must be
        specified with the /silent switch and is ignored for any operations
        other than documentation installation.

/uninstall Used to uninstall documentation. When this parameter is
        present, /mediaBookList, /vendor, and /productName must be present.

/vendor <vendor name> Required when the /uninstall parameter is present.
        Specifies the vendor that created the books to be uninstalled.

/productName <product name>. Specifies the product name of books to uninstall.
        Requires the /uninstall parameter is present.

Press any key to continue...



Move/Reset the Library Store Location

A library once installed can be moved or purged very easily.