Microsoft Help Viewer home > Introducing MS Help Viewer 1.0
10-Mar-2009 - Original document by Rob Chandler. Thanks MVP Dana Worley for
the Edit.
17-Oct-2009 - Update info for Beta 2 release. Name change from MS Help 3 to
release name of "MS Help Viewer".
21-Oct-2009 - Microsoft now say the official name is "MS Help Viewer" and this
name won't change.
12-Feb-2010 - Cleanup (coincides with RC release).
16-Feb-2010 - Remove JSON
format reference since JSON wont be shipping with this first release.
26-Feb-2010 - New offline URL param called embedded=true that hides the embedded
topic navigation pane.
27-Feb-2010 - General cleanup of API & URLs.
01-Apr-2010 - Update Microsoft.Help.Category info.
Introduction | Help Components | Product Manifest | Help Library Manager | XHTML | Meta Tags | Converting H2 | API & URLs
This page contains information for developers & authors who need to prepare for the Visual Studio 2010 release.
Thanks to Paul O'Rear and Sheridan Harrison (MS Help team PMs) for early documentation updates and guidance.
The official name is Microsoft Help
Viewer 1.0. The pre-release was known as
MS Help 3.
(the last help system (help 2) was known in Visual Studio as MS Document
Explorer)
Microsoft have made available some basic documentation here:
http://msdn.microsoft.com/en-us/library/dd776252(VS.100).aspx
MS Help Viewer 1.0 consists of:
These names were agreed on after VS 2010 Beta 2 shipped. You will see them in the RC and RTM releases.
Comment from Rob:
It's a strange name since the "help viewer" is actually your default browser. In the past the viewer's name was "Document Explorer" so that's probably where they are coming from. Given such a generic and misleading name, I'll probably refer to the help system more as "VS 2010 Help system" or "MS Help 3" (although MS want to move away from the help 3 branding).
| Disclaimer At the time of writing MS Help Viewer 1.0 is an unreleased product. Some features may change before final release. Information in this document has been pieced together from emails, pre-release documents and presentations. It's the best we can do until Microsoft release the official MS Help Viewer 1.0 documentation. Thanks for your patience. |
To be clear, we are only talking about MSDN offline (local) help. MSDN online help is
quite different and does not use .MSHC files.
When in VS Online mode, F1 will use locally installed help if available. This is
an improvement on MS Help 2 where local help did not work in Online mode.
All HTML topics must be formatted in XHTML format. The main requirement is that all tags are correctly closed and nested. Microsoft recommend XHTML 1.0 Transitional or greater.
Keywords, TOC, Locale, etc. are all defined in the topic file headers using standard HTML meta tags. Each topic file must contain a unique topic ID meta tag. TOC structure is defined using these topic IDs.
Help files are very simple. If you zip your help content (HTML/Images/etc) to a .zip file and rename to a .mshc file extension, then you have made a valid help file. So you can decompile any .mshc file by renaming to .zip and unzipping the content.
There currently no MS Workshop, SDK or compiler required. Indexing of help content is performed at installation time.
Like MS Help 2 you can ship your help file with, or without, an index file. If you don't ship an index it will be generated automatically at install time.
Microsoft call this an "Index fragment" since it will be merged with the target catalog's master index. The .mshi file is a proprietary binary file format.
Microsoft ship each .mshi and .mshc file in a signed .cab file. You can probably merge your help and then extract the index from the Help Library store if you really want to ship an index file.
For release 1.0 all installed help files (.mshc and .mshi) are copied to a central data store (typically <csidl_commonappdata>\Microsoft\HelpLibrary\ - eg c:\ProgramData\Microsoft\HelpLibrary\).
The index fragment is merged with the rest of the catalog to make one enormous master index catalog. At the moment the system breaks this very large master index into several 50MB partitions. Each partition has an .mshi file extension like the .mshi index fragments.
Microsoft ship their .mshc and .mshi files in a signed .cab file. MS call this a "package". A help package can be a single .mshc help file, a .mshc file wrapped in a signed .cab file, or a pair of .mshc/.mshi files wrapped in a signed .cab file.
Note: Signed CAB files can be installed silently.
Note that a catalog is an offline concept. MS online help is a very different system.
Each catalog is defined by 3 values: Product ID + Version Number + Locale.
The English Visual Studio catalog is "VS" + "100" + "en-us". Microsoft ship several catalogs since they have several language versions.
A package should contain no more than than 10,000 topics. You can add more, however performance may suffer. A book can contain any number of packages (no upper limit has been defined).
Example:
Product definition file (MSHA - MS Help Asset file) defines books and their packages you want to install. We pass it to the HelpLibManager.exe at install time.
In v1.0 the setup file name must be helpcontentsetup.msha.
HelpLibManager.exe is the main UI used to install, uninstall, update help files.
You communicate with it using the command line. The first 3 arguments define the catalog context. For VS 2010 this is usually:
When installing new help you also pass in a .msha file that defines the book and package(s) you want to install.
Both online (web) and offline (local) help display in your default browser. You are not locked into using the Microsoft browser.
You can override the viewer for Offline help via a registry setting.
The ms-xhelp:/// protocol is associated with the Help Library Agent application. If you ShellExecute() an ms-xhelp:/// help URL the Help Agent will run (appears in the Taskbar tray), pull the data from the data store and send the output to the default browser.
Stop Words
The indexer library uses the same stop word lists used by the Help 2.x help system. The new help system supports stop words for the following languages: en-us, de-de, es-es, fr-fr, it-it, ru-ru. The StopWord files can be found in the c:\program files\Microsoft Help Viewer\v1.0\ folder.
Search Results and Ranking
When viewing search results you want the most relevant to be listed first. The algorithm to calculate ranking will, I'm sure, be tweaked and tuned for a long time to come. However, typically it is based on criteria such as -- Does the word appear in the title; Does the word appear in keywords; Does the word appear in body content (ordered by frequency).
A product definition file defines a book and its package(s) you want to install. You pass this to the Help Library Manager (HelpLibManager.exe) application at install time. In MS Help 2.x the .HxC collection level file had a similar function.
In v1.0 the setup file name must be helpcontentsetup.msha.
Here is a typical .msha file used to install a book containing 2 packages.
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>An optional title that can be useful for tools used to generate these files.</title> </head> <body class="vendor-book"> <div class="details"> <span class="vendor">Contoso Corporation</span> <span class="locale">en-us</span> <span class=”product”>Contoso Widget Studio </span> <span class="name">Contoso Widgets</span> </div> <div class="package-list"> <div class="package"> <span class="name">package1</span> <a class="current-link" href="packages\package1.mshc">package1.mshc</a> </div> <div class="package"> <span class="name">package2</span> <a class="current-link" href="packages\package2.mshc">package2.mshc</a> </div> </div> </body> </html>
Notice the div tags are like records. The class names are used to name each part. While the <span> and <a> tags are like record data items.
The Help Library manager is used to install, uninstall and update help content. For install you pass the .msha file to HelpLibManager.exe as a command line parameter along with the name of the target catalog. Remember a help catalog is always defined by 3 things (a 3 part key) - Product ID + Product Version + Locale.
The Help Library Manager is usually installed here:
To simply run Help Library Manager in the VS 2010 help context run:
You could set up a link for your own help like this. Add /NoOnline to disable web links.
To install packages pass the name of the .msha manifest file using the /sourceMedia switch.
Command line parameters (run HelpLibManager /?)
| /product product-ID | Required. For VS 2010 help catalog product id = vs |
| /version product-version | Required. For VS 2010 help catalog product version = 100 |
| /locale product-language | Required. For VS 2010 help catalog product locale = us-en (for the English version of MSDN) |
| /install | Used to install help into a catalog. |
| /sourceMedia source-path | Used to specify the path to the .msha manifest file. |
| /sourceWeb source-path | Used by MS to connect to web based content. No details currently published by MS. |
| /content local-store-path | Use the /content argument if you can't guarantee that a Local Cache has already been defined. If local store has already been defined then this switch is ignored. Probably more useful to Microsoft than 3rd parties. |
| /silent | In silent mode the Help Library Manager UI is not
shown. Help packages must be distributed in a signed cabinet (.cab)
file, otherwise using the /silent switch will generate an error. The
/silent switch requires either the /sourceMedia or /sourceWeb or
/uninstall switch. Note that /uninstall /silent combination can be used on unsigned help. |
| /NoOnline | Help Library Manager will disable online commands. Useful for 3rd party content. |
| /brandingPackage package-file | Specify your own branding package. Do not specify the full path. Instead install the branding .mshc file to the local store path. See branding below. |
| /uninstall | HelpLibManager.exe /product vs /version 100 /locale
en-us /uninstall /silent /vendor "Helpware Inc." /mediaBookList "My book
1" "my book 2" "my book 3" /productName "Helpware
Library" The first 3 parameters identify the catalog. The next two indicate an uninstall with no UI displayed. The next 2 parameters identify the vendor (to handle the case where 2 vendors have the same book name), and the list of books to remove. The parameters are not presumed to be in any order. See the definition of a .msha file for more details. |
Notes:
Local Store is where all help catalog info is stored (this includes a copy
of your .mshc & .mshi files, master mshi index files etc).
Default location for Windows 7 and Vista is:
C:\ProgramData\Microsoft\HelpLibrary\
Default location for Windows XP is:
C:\Documents and Settings\All
Users\Application Data\Microsoft\HelpLibrary\
You can find the path to the local store as well as the application runtime files in the registry here:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help]"AppRoot"="C:\\Program Files\\Microsoft Help Viewer\\v1.0\\""LocalStore"="C:\\ProgramData\\Microsoft\\HelpLibrary\\"
From Kimberly Wolk's Blog.
"We received a number of requests to lock down the directory where Help Library Manager installs content and we’ve now ACL’ed that directory to restrict permission to update content to members of the HelpLibraryUpdaters security group. This group is created during setup, and by default, it includes the administrators group and the user account that created the local store. To enable support for multiple users (non-admins) to update content on the machine, an administrator must add the additional accounts to the HelpLibraryUpdaters security group. As a further security check, Help Library Manager will also check the digital signature used to sign cabinet files that contain content to be installed locally. When installing content interactively, you can view the certificate of signed MSHCs and approve or reject the content."
Currently when you install, Help Library Manager UI appears and shows the user the books available for installation. To automate installation (no UI displays) use the /silent switch (only works with signed cab files).
You can override the branding (logo, ,css, footer, etc) by specifying your own branding package on the command line. The default is to use the standard MS supplied branding package which is installed at:
If you do override branding you will also need to set each topic's SelfBranded meta tag to true. ?? This area is still pretty fuzzy to us. ??
You can integrate into an existing catalog or install as new catalog. This is similar to what we did in MS Help 2 where we could plug in to an existing namespace or create a standalone new namespace).
Typical VS integration scenarios:
Paul O'Rear's comment: 2 is say you install a book into VS+100+en-us catalog but Visual Studio content isn't there yet. You will see your content and when VS content is installed you will see that as well. 3 is for standalone help experience.
You'll need to buy a HTML editor that can validate XHTML. The one we use is MS Expression Web 3.0.
XHTML is like HTML with XML syntax rules applied.
The basic XML rules are:
To strictly conform to XHTML:
Note: VS 2010 online documentation is using XHTML 1.1 -- See MSDN web page example.
The web has many good XHTML reference docs. Start here: http://www.w3schools.com/xhtml/xhtml_intro.asp
Here is a basic XHTML 1.1 document header.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...
The first line in the file is the XML declaration - <?xml version="1.0" encoding="UTF-8"?>. The w3c say this can be omitted if your file is Unicode encoded (UTF-8 or Unicode). Older browsers can choke on this statement.
You have 3 choices of XHTML doctypes. XHTML 1.0 Transtional; XHTML 1.0
Strict; XHTML 1.1;
(4 choices if you count quirks mode and omit the DOCTYPE declaration).
XHTML 1.0 traditional has the most relaxed requirements. XHTML 1.0 Strict is basically the same as XHTML 1.1. Neither allows you to use tags such as <font>, <iframe>, <nobr>, <s>, <strike>, <u>. You may get away with operating in quirks mode and removing the XHTML doctype declaration completely.
The <html xmlns="http://www.w3.org/1999/xhtml"> xml namespace is required for XHTML.
So your header will look something like one of these...
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> ... <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> ... <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> ...
In MS Help 2.x each topic was required to have an <xml> data island containing various H2 <MSHelp:..> tags. MS Help Viewer 1.0 on the other hand uses standard Meta tags <meta name="property" content="value" /> in the <head> section of each topic. The rules are much simpler. For one thing the H2 Attribute tag and "A" Index Keywords are no longer supported. The other big change is that the TOC and Index standalone files are no longer supported. You now define your TOC and visible Index in your topic HTML files using meta tags.
The following table lists the attributes recognized by the MS Help Viewer indexer.
Column 2 indicates if the tag is required or can be repeated:
| 1 | Tag is required and must appear once in each document. |
| 0/1 | Tag is optional and can only appear once in each topic. |
| 0/* | Tag is optional and can appear many times in each topic. |
| Title | 1 | Each document must have a standard HTML title. Used by TOC, Index
and Search Result labels. <title>Doc Title</title> |
| Microsoft.Help.Id | 1 | Every topic must have a unique ID string. The ID
is used in search data and for TOC relationships. It can be tricky to
think up a unique ID, so MS recommend using GUIDs since these 128-bit integer
numbers have a very high degree of certainty of being unique. For .net
assembly methods MS suggest using your assembly's class, member and type
information as the ID value. <meta name="Microsoft.Help.Id" content="TopicIdentifier" /> Within the same catalog Microsoft may have different versions of a topic (e.g. .NET Framework 3.0 and 3.5), or different language versions of topics. In these cases the topics use the same Help IDs, and use Microsoft.Help.Locale or Microsoft.Help.ProductVersion to disambiguate. Usually TOC items that match the Catalog locale show, and similar with F1 Keyword match (catalog locale match has priority). For Search, all matches are shown no matter what the locale. |
| Microsoft.Help.Locale | 0/1 | Word break locale for this doc. Tells the indexer
which word-breaker to use when parsing the topic for search terms.
Should appear before other Help tags. Locale examples: en-us, de-de, es-es, fr-fr, it-it, ru-ru - See a full list of locales. <meta name="Microsoft.Help.Locale" content="language code" /> If omitted use the product locale. If that is omitted defaults to en-us. The Help 2 equivalent would be <MSHelp:Attr Name="Locale" Value="kbEnglish" /> MS recommend you include this tag. This tag conforms to RFC 4646. Note that VS test and ship with 9 core languages (as far as I know) - French, Italian, German, Spanish, Japanese, Chinese, Chinese – Taiwan, Korean, and Russian. |
| Microsoft.Help.TopicLocale | 0/1 | Topic Locale is used when there is mixed content in
the same catalog and you want to determine the most appropriate match
for a lookup. For example, if there were an F keyword lookup on JPN
content, which may have both ENU and JPN content installed, the topic
with .TopicLocale matching JPN would win out. Locale Code examples: en-us, de-de, es-es, fr-fr, it-it, ru-ru <meta name="Microsoft.Help.TopicLocale" content="language code" /> For the kind of values expected see "Short String" column of this table. MS recommend you include this tag. This tag conforms to RFC 4646. |
| Microsoft.Help.SelfBranded | 0/1 | Set SelfBranded=true to allow your topics to continue
to use their own .css, scripts, logo, support link. Set false to use the Microsoft branding.
The default is SelfBranded=false. <meta name="Microsoft.Help.SelfBranded" content="true" /> -- This will change / expand. |
| Microsoft.Help.Keywords | 0/* | Keywords appear in the Help Viewer's Index navigation pane ("Visible
Index"). <meta name="Microsoft.Help.Keywords" content="Keyword" /> <meta name="Microsoft.Help.Keywords" content="level 1 item,Keyword" /> Use a comma to make a second level keyword (remember visible indexes are hierarchical). More than 2 levels are not supported. There is currently no visible index in the help viewer. Keywords allows the topic to be found in a keyword search and gives your topic higher ranking in search results. The K index items of older help systems can be converted directly to MS Help Viewer keywords. |
| Microsoft.Help.F1 | 0/* | F1 keyword. Any topics you want to link to should be given an F1
keyword. MS Help Viewer 1.0 does not have a disambiguator (a window showing multiple
hits like
in help 2). The first keyword found will show. Ideally each topic should
contain zero or one F1 Keyword. If 2 topics share the same keyword you
can use Microsoft.Help.Category to make your topic show in the correct
context. <meta name="Microsoft.Help.F1" content="ContextID" /> |
| Description | 0/1 | Optional summary about this document, 256 chars or less. This text
is not stored in the index but accessed directly by the query engine.
This is the same as the standard HTML description used in HTML
documents. This text is used in the search result list. <meta name="Description" content="topic description" /> |
| Microsoft.Help.TocParent | 0/1 | Builds the TOC hierarchy. Set the
ID = -1 to make the topic appear at the top level of the host TOC. Excluding
this tag or specifying an invalid ID will hide the topic from the TOC.
To parent your TOC into the MSDN help, set your root topic's TocParent to be the HelpID of the required MSDN topic page.
For version 1 this tag can only appear once per HTML topic. To add your TOC to the top level of the VS master TOC set your topic's TOCParent attribute = -1. To parent to a specific location you would do a "view source" to find the Microsoft.Help.Id of the parent topic. |
| Microsoft.Help.TocOrder | 0/1 | Specify the order of the TOC item relative to its peers. If several
topics claim the same TocOrder then they will be sorted alphabetically.
For version 1 this tag can only appear once per HTML topic. <meta name="Microsoft.Help.TocOrder" content="some positive integer, 1..n"/> |
| Microsoft.Help.TocInfo | 0/* | This is a
possibility for version 3 release. The TocParent and TocOrder (above) are replaced by a single meta tag statement TocInfo. This tag can appear multiple times in a topic file. <meta name="Microsoft.Help.TocInfo" content="TocParent|TocOrder" /> Another v2 TOC idea is to introduce ProductID + Version. Since a Help file can contain multiple product and version info, this allows you to show TOC nodes for certain product and/or versions only. <meta name="Microsoft.Help.TocInfo" content="TocParent|TocOrder|ProductID|Version" /> |
| Microsoft.Help.Product | 0/1 | Product code. <meta name="Microsoft.Help.Product" content="some product code" /> You can also pass this to indexer during product Help file installation. |
| Microsoft.Help.ProductVersion | 0/1 | Product Version. <meta name="Microsoft.Help.ProductVersion" content="some version number" /> You can also pass this to indexer during product Help file installation. |
| Microsoft.Help.TopicVersion | 0/1 | Topic Version. <meta name="Microsoft.Help.TopicVersion" content="some version number" /> e.g., you may have Framework help for version 3.0 and 3.5 |
| Microsoft.Help.Category | 0/* | Identify subsections of content. <meta name="Microsoft.Help.Category" content="AttributeName:AttributeValue" />
If 2 topics share the same F1 keyword you can
use Category as a ti-breaker. Microsoft also use categories to make topics appear in the correct context.
Check the MS documentation when it becomes available. |
| Microsoft.Help.ContentFilter | 0/1 | UI selectable values to filter TOC, Index and Search. <meta name="Microsoft.Help.ContentFilter" content="some_string_value" /> Content without a filter always shows no matter what filter is selected. Help 2 filters can not be easily converted as this is a new system. Not available in the first release. |
| Microsoft.Help.ContentType | 0/* | Allows search results to be sorted so customers
can see, for example, all results under “Samples" or “Error Messages". <meta name="Microsft.Help.ContentType" content="some_value" /> Not available in the first release. |
First up. Can MS Help Viewer and MS Help 2 projects share the same content files? I currently get install errors if I don't comment out the MS Help 2 <MSHelp:...> header tags. I'm hoping we can solve this problem soon then it will be possible to use the same files for both help systems.
A few notes on coding for visible keywords (Index Tab of older Help Viewers).
In the MS Help 2.x "K" Index file below, there are 4 types of keywords used (highlighted).
Summary: Release 3.0 won't support case #3 and #4.
<?xml version="1.0"?> <!DOCTYPE HelpIndex SYSTEM "MS-Help://hx/resources/He |
Like the keywords (above) the MS Help Viewer 1.0 TOC system has some major limitations.
The way we got around these limitations in the mshcMigration utility is to generate place temporary holder topic file.
See also online doc:
The ms-xhelp:// protocol is associated with the HelpLibAgent.exe application so if you ShellExecute() an ms-xhelp://?... URL it will start Help Agent (if not already running), and Agent will change the ms-xhelp:// protocol into a local http://127.0.0.1:47873/help/1/ms.help/ URL and open it in the viewer.
Help Agent listens to all http: traffic on port 47873 -- http://127.0.0.1:47873/ (or http://localhost:47873/) and if it sees these MS Help Viewer URLs it serves up the correct content.
There are several variations of help URLs:
All use different URL formats however the parameters are the same.
|
ms-xhelp F1 URL:
Local help F1 URL:
Online help F1 URL:
Enterprise help F1 URL:
|
The general format of an ms-xhelp url is as follows:
| ms-xhelp:///?method=<method name>&<parameter name>=<parameter value> |
You can use ms-xHelp:/// format to talk to Help Library Agent. Open the URL using ShellExecute() and your default browser will show the result.
To get data back from the Agent use the http://127.0.0.1:47873/help/1/ form. The last number /1/ is the session number. Usually /1/ but may be greater. To get the session number use the wtsapi32.dll function WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, WTSSessionId, snum, bytes); The default Port 47873 can be changed if necessary (see the readme release notes in c:\program files\Microsoft Help Viewer\v1.0\ ). For Win32 apps you could use WinINet API functions to make http: calls and capture the returning data into a string.
Used for VS context sensitive help.
Supported by: Local/Enterprise, Offline, Online. (Note: Here I think Offline means Online help hosted on a local ISS server)
Example:
| ms-xhelp:///?method=f1&query=system.string&product=vs&productversion=100&locale=en-us |
Required parameters: method=f1, query, product,
productversion.
Optional: locale, lcid, category, format, targetframeworkmoniker, devlang,
targetos.
"query" can have multiple values separated by %00 (null).
"locale" - Can be omitted (defaults to thread locale). eg.
locale=en-us
"LCID" - Can be omitted (defaults to thread locale). Can be used instead of
Locale. eg lcid=1033
"category" - Useful to filter your F1 down to a specific area of the help.
"format" - Return format of the data. html or xml. XML format wont
contain the branding markup.
"targetframeworkmoniker" - MS use this as a tie-breaker for the topics having
the same F1 keyword.
targetframeworkmoniker examples:
.NETFramework,Version=v2.0
.NETFramework,Version=v3.0
.NETFramework,Version=v3.5
.NETFramework,Version=v4.0
Silverlight,Version=v2.0
Silverlight,Version=v3.0
Silverlight,Version=v4.0
"devlang" - MS used this as a filter
for F1 call. Currently used values are: C++, VB, CSharp, FSharp, Jscript.
Your topics can be marked with a DevLang, TargetOS or TargetFrameworkMoniker by
using the category meta tag.
eg <meta name="Microsoft.Help.Category"
value="DevLang:CSharp" />
eg <meta name="Microsoft.Help.Category"
value="TargetFrameworkMoniker:.NETFramework,Version=v4.0"
/>
See Microsoft.Help.Category reference above.
Display a page.
Supported by: Local/Enterprise, ISS Offline, Web Online.
Example:
| ms-xhelp:///?method=page&id=57301AAE-7D51-4006-A9EF-C82B6C0FF21E&product=vs&productversion=100&locale=en-us |
Required parameters: method=page, id, product,
productversion.
Optional: locale, lcid, format, topiclocale, topicversion,
"id" - This is the topic id (see topic meta microsoft.help.id=). Other
parameters are same as f1 above.
"topiclocale" - Locale of the topic within a catalog as non-ENU catalogs
could also have ENU topics. [Example value: en-us].
"topicversion" - Version of the topic within a catalog as multiple versions of
the same topic can be installed in the same catalog
(.NET Framework 3.5 [90] and .NET Framework 4.0
[100] topics can be installed to the same catalog) [Example value: 90]
Full text search. Queries can consist of keywords and the logic
operators (AND, OR, NOT, trailing *).
The default action for keywords with spaces between
them is AND.
Supported by: Local/Enterprise, Offline, Online.
Example:
| ms-xhelp:///?method=search&query=string&ProductVersion=100&Product=vs&PageSize=10&PageNumber=1&locale=en-us |
Required parameters: method=search, query, product, productversion, PageSize,
PageNumber.
Optional: locale, format .
"query" supports AND, OR, NOT logic
(these must be uppercase). e.g. "console NOT writeln".
"PageSize" - Number of result pages (e.g. 10).
"PageNumber" - Page number to display for pagination (1..n).
For parameters description see above.
Returns the TOC for a particular id. Returns abbreviated TOC data consisting of topics ancestors, children and siblings.
Supported by: Currently only supported by local help.
Example:
| ms-xhelp:///?method=toc&format=xml&id=59B8D11B-D603-4B8C-B6A5-AFAF3FF15C3A&product=vs&productversion=100&locale=en-us |
Required parameters: method=toc, product, productversion.
Optional: locale, format.
For parameters description see above.
The returned data consists of all the keywords that begin with the query value.
Supported by: Currently only supported by local help.
Example:
| ms-xhelp:///?method=keywords&format=xml&query=string&product=vs&productversion=100&locale=en-us |
Required parameters: method=keyword, query, product,
productversion.
Optional: locale, format, PageSize, PageNumber, 'category=topic'.
"PageSize" - Number of result pages (e.g. 10).
"PageNumber" - Page number to display for pagination (1..n).
'category=topic' - For LCTP4 and later releases add
"&category=topic" to the URL to get back a single topic.
For parameters description see above.
The returned data consists of all the TOC ancestors of the topic up to the root node.
Supported by: Currently only supported by local help.
Example:
| ms-xhelp:///?method=ancestors&format=xml&id=57301AAE-7D51-4006-A9EF-C82B6C0FF21E&product=vs&productversion=100&locale=en-us |
Required parameters: method=ancestors,
id, product, productversion.
Optional: locale, format.
For parameters description see above.
The returned data consists of all the TOC children of the topic up to the root node.
Supported by: Currently only supported by local help.
Example:
| ms-xhelp:///?method=children&format=xml&id=59B8D11B-D603-4B8C-B6A5-AFAF3FF15C3A&product=vs&productversion=100&locale=en-us |
Required parameters: method=children,
id, product, productversion.
Optional: locale, format (html or xml).
For parameters description see above.
Returns a static file from an .mshc file such as a style sheet, JavaScript, or image file. Returns byte stream.
Supported by: Currently only supported by local help.
Example:
| ms-xhelp:///?C:\\programData\\Microsoft\\Help Library\\store\\dev10.mshc;/VS-logo.gif |
Required parameters: path. Offline help only.
Path - Inner and outer path to the requested file.
Note that the inner and
outer path are separated by a semi-colon.
Also note that the back-slashes are
escaped and the internal path is forward slashed (this is important).
Returned format: Native file format as byte stream.
Invokes the Help Library Manager with the context of the specified catalog.
Supported by: Currently only supported by local help.
| !!ToDo!! Need Example!! |
You will notice that most pages have an embedded search + loBand style navigation pane. In the RC build you can now hide this pane by appended the parameter "&embedded=true". This only works for offline URLs.
This URL will show the navigation
http://127.0.0.1:47873 /help/1/ms.help?method=f1&query=system.string&product=vs&productversion=100&locale=en-us
This URL wont show the navigation
http://127.0.0.1:47873 /help/1/ms.help?method=f1&query=system.string&product=vs&productversion=100&locale=en-us&embedded=true