Documentation‎ > ‎

VS 11 Help Viewer Window

posted Nov 11, 2011, 8:22 PM by Robert Chandler   [ updated Aug 8, 2012, 8:12 PM ]
The Visual Studio 11 (VS 2012) Help Viewer is pretty cool and you can use it to view your own catalogs if you register them first.
Note that Windows 8 help uses a different proprietary viewer. We have no details on using that viewer.

Location & Command Line Args

C:\Program Files\Microsoft Help Viewer\v2.0\HlpViewer.exe

Use the /? or /help command line argument to see all command line arguments.

Microsoft(R) Help Viewer 2.0
Copyright (C) Microsoft Corporation. All rights reserved.

Description: Runs the Help Viewer application to view or manage documentation.

Usage: HlpViewer.exe /catalogName <catalog name> [/options]

Example: HlpViewer.exe /catalogName VisualStudio11 /locale en-us
 /launchingApp Microsoft,VisualStudio,11.0

Required parameter:

/catalogName <catalog name>
     Specifies the product documentation catalog
     to view and manage.


/locale <language-country/region>
     Specifies the culture name (language and country/region)
     of the product documentation to view and manage;
     for example, specify /locale pt-br for Portuguese (Brazil).

/launchingApp <company,product,version>
     Specifies application-specific data that defines the
     registry key for looking up product-specific settings.

/sku <ID>
     Filters the booklist for the specified SKU ID.

     Displays the Manage Content tab when the application starts.

/helpQuery <ms-xhelp query>
     Executes a query to display specific content.

/? or /help
     Displays usage information.

/catalogName <catalog name>

Require parameter. HlpViewer.exe can only view catalogs that are registered under a catalog name (see Catalogs).

/locale <locale>

Optional. A catalog can contain one or more locales (language versions of a help catalog). If you omit this parameter the closest help locale will be loaded.

/launchingApp <company, product, version>

Optional. Specifies application-specific data that defines the registry key for looking up product-specific settings. You will notice when you launch Help from VS 11 the help Window has the same visual theme as VS 11. This is part of job of this switch. ??? We will try and find out more info on this. 

Also, looking at the help source, if arg = "Microsoft,VisualStudio,11.0" then hlpViewer starts MS sqmRecorder.

/sku <ID>

Optional. Currently only used by Microsoft Visual Studio to help populate the Manage Content tab according to the edition of Visual Studio. (eg Ultimate = 3000; Express = 1000 etc ).


Optional. Open Help Viewer at the Manage Content tab.

/helpQuery <ms-xhelp query>

Optional. Run a help query. For example open a topic via F1 keyword. This is what VS uses when your press F1 help. See below for more info.


/Vendor <vendor name>

Optional. A tie-breaker. Vendor name is defined at merge time in the .msha manifest file.  eg. /Vendor Microsoft 

/ProductName <product name>

Optional. A tie-breaker. Product name is defined in a topic by meta tag MICROSOFT.HELP.PRODUCT.

Registering a Catalog

See example "Creating a Catalog" in Catalogs

/HelpQuery Parameter

If you press F1 in VS 11 then use Windows 7 Task manager to view the command line arguments used to open HlpViewer.exe you will see something like this:

HelpViewer.exe /catalogName VisualStudio11 /helpQuery method=f1&query=VS.TextEditor&LCID=1033&LCID=1033&TargetFrameworkMoniker=.NETFramework,Version%3Dv4.0&DevLang=csharp /locale en-US /sku 3000 /launchingApp Microsoft,VisualStudio,11.0

Switches are covered above. Here are some examples of the /helpQuery argument:
  • Open help at the top level topic:  /helpQuery method=page&id=-1
  • Open help at a topic:  /helpQuery method=page&id=<topicId>
  • Open help at an F1 topic: /helpQuery method=f1&query=<keyword>
  • ** Open help using a keyword query: /helpQuery method=keywords&query=<keyword>
  • ** Open help using a search query: /helpQuery method=search&query=<keyword>
** Not currently available in HV2 as a HlpViewer.exe command line option.

The help query may also contain:

&locale=en-us or &lcid=1033        defaults to thread locale if ommitted 
&vendor=Microsoft        tie-breaker for F1 calls. Vendor name is defined at merge time in the .msha manifest file.
&format=html or &format=xml     hang over from HV1. Don't think this is used in HV2
&category=xx                               F1 tie-breaker - see topic meta MICROSOFT.HELP.CATEGORY 
&topicversion=xx                          F1 tie-breaker - see topic meta MICROSOFT.HELP.TOPICVERSION
&topiclocale=xx                            F1 tie-breaker - see topic meta MICROSOFT.HELP.LOCALE
&targetFrameworkMoniker=xx       F1 tie-breaker - Note: encode =v4.0 as %3Dv4.0
  eg. targetframeworkmoniker=.NETFramework,Version=v2.0    
  eg. targetframeworkmoniker=.NETFramework,Version=v3.0
  eg. targetframeworkmoniker=.NETFramework,Version=v3.5
  eg. targetframeworkmoniker=.NETFramework,Version=v4.0
  eg. targetframeworkmoniker=Silverlight,Version=v2.0
  eg. targetframeworkmoniker=Silverlight,Version=v3.0
  eg. targetframeworkmoniker=Silverlight,Version=v4.0
&devLang=xx                                Use as a filter for F1 calls - Currently used values are:  C++, VB, CSharp, FSharp, Jscript.

Defining DevLang & targetframeworkmoniker:
    eg <meta name="Microsoft.Help.Category" value="DevLang:CSharp" />
    eg <meta name="Microsoft.Help.Category" value="TargetFrameworkMoniker:.NETFramework,Version=v4.0" />