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
Sept 2010: The official Help Viewer 1.0 SDK is now available so covers much of the material in this document. It also contains some basic C# code for HV 1.0.
http://mshcmigrate.helpmvp.com/news/helpviewer10sdk
You may still find this one page overview useful to read.
March 2012: Details of Help Viewer 2.0 SDK is now available.
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).
Help Viewer 2.0
The info on this page that relates to help file format is the same for both HV1 (VS 2010) and HV2 (VS 2012/Win 8). However the help engine and executables for HV2 is completely different.
For HV2 please see http://hv2.helpmvp.com/
What is MS Help Viewer 1.0?
MS Help Viewer is the new help engine for Visual Studio 2010 (version 10) and beyond.
It replaces MS Help 2.x, which is the help engine for VS 2002/2003/2005/2008 (VS version 7.0/7.1/8/9).
Will MS Help Viewer 1.0 eventually replace HTML Help (.CHM) help?
The current focus is VS 2010 help. If it becomes popular maybe it will. We hope so.
Can MS Help Viewer 1.0 be used outside the Visual Studio environment?
Yes, you can create standalone help systems just like in MS Help 2.
Where is the offline Help Viewer?
By default offline help opens in your default browser. There is a registry item you can use to override the viewer. EG. Make H3Viewer (free 3rd party viewer) the default.
Will MS Help Viewer 1.0 be a full featured release?
The help team won’t have time to implement everything in this first release. Some features such as filters (for Search, TOC, Index scoping) will probably be pushed out to a future release, along with API support etc. The next version should be richer in features and target ISVs (Independent Software Vendors who make Help Authoring Tools).
Why a new help system?
It's time to change. Help 2.x has served us well but has some flaws such as: Lengthy merge times that lock up VS and Help; Complex registration requirements; Search and F1 results not 100% reliable. Over help 2.x's lifetime they tried to improve search and F1 but users were never satisfied with it.
So how is MS Help Viewer 1.0 better?
MS Help Viewer has been designed with simplicity, relevance and speed in mind. There is no complex registration script required. The topic tagging system is much simpler than in Help 2. Complex attribute and A Link tags are gone. Merging is asynchronous and happens in the background. Also the Hep 3 code is now completely separate from the VS code.
Will search restrict us to a 500 hit maximum again?
No. All results are available no matter how many hits you get.
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 /?)
Notes:
Local Store
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."
Installation
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).
Branding - /brandingPackage
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
0/1
0/*
Tag is required and must appear once in each document.
Tag is optional and can only appear once in each topic.
Tag is optional and can appear many times in each topic.
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.
HelpID
Each HTML topic file must be give a unique ID.
<meta name="Microsoft.Help.Id" content="TopicIdentifier" />
Title
Topics header must contain a <title>Doc Title</title> tag. In Help 2.x we could also specify a unique title for display in the TOC and Result List using <MSHelp:TOCTitle> and <MSHelp:RLTitle> but these are no longer supported.
TOC and Index files
External TOC and Index files are no longer supported. TOC and Index items can only be defined by using topic meta tags. The job of converting TOC and index files into topic tags really requires the help of a software tool of some kind (unless you have enormous patience).
Every topic must be given a unique help ID (typically a GUID), then you can use
<meta name="Microsoft.Help.TocParent" content="parent_Id" /> and
<meta name="Microsoft.Help.TocOrder" content="some positive integer" /> topic tags to define the TOC. Indexes are similar and use the Microsoft.Help.Keywords tag (see below).
TOC items must be defined in topic files, so empty TOC links, items with book marks and remote TOC items are not allowed. Also in MS HV 1.0 a topic can only appear once in the TOC. The Helpware Migrate Utility attempts to get around these limitations by generating place holders topic files.
Keywords
Topic keywords (K Index) convert easily. These are visible keywords that show up in the viewer's Index navigation control at runtime. Use the meta tag "Microsoft.Help.Keywords".
Examples:
H2: <MSHelp:Keyword Index="K" Term="SystemBrushes.InactiveCaption property" />
HS: <meta name="Microsoft.Help.Keywords" content="SystemBrushes.InactiveCaption property" />
As with previous help you can use a comma to achieve a level 2 index item. Level 3 and above are not supported.
<meta name="Microsoft.Help.Keywords" content="Level 1 label, Level 2 item A" />
<meta name="Microsoft.Help.Keywords" content="Level 1 label, Level 2 item B" />
Although MS Help Viewer 1.0 may not show these in the UI they are still useful for tweaking the search ranking etc.
See also the section below on Visible Keywords
F1 Keywords
Help 2.x "F" topic Keywords convert fairly easily to F1 topic meta tags. There is no disambiguator so make sure each topic has only one F1 keyword, otherwise the first keyword found will be used.
Examples:
H2: <MSHelp:Keyword Index="F" Term="VS.Ambient" />
HS: <meta name="Microsoft.Help.F1" content="VS.Ambient" />
"A" Keywords
"A" Links don't exist in MS Help Viewer 1.0. If you were using them then try using the new topic Help ID or F1 keyword instead.
H2: <MSHelp:Keyword Index="A" Term="6c1cac41-dfc9-4a03-b857-0f685d663482" />
Attributes & Filters
MS Help Viewer 1.0 filters will probably be quite different and simpler. Not available in first release.
Topic Locale
Setting the locale is optional. The default is "en-us".
MS Help 2 defined locale from a different set of strings.
H2: <MSHelp:Attr Name="Locale" Value="kbEnglish" />
HS: <meta name="Microsoft.Help.Locale" content="en-us" />
HS: <meta name="Microsoft.Help.TopicLocale" content="en-us" />
Note: MS ship Japanese help with some English topics. So the Product Locale is Japanese but the Topic Locale (meta tag) can be English.
Product Version
Setting the version is optional.
Rob: Help 2 does have a similar setting but may not be exactly the same meaning.
H2: <MSHelp:Attr Name="TopicVersion" Value="08.00.60815.10000" />
HS: <meta name="Microsoft.Help.ProductVersion" content="08.00.60815.10000" /> ???????
<MSHelp:Vtopic>
Virtual topics are not supported.
<MSHelp:NoSearch>
Not supported.
<MSHelp:Include>
Not supported.
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/HelpIndex.DTD"> <HelpIndex Name="K" Visible="Yes" DTDVersion="1.0" FileVersion="1.0" LangId="1033"> <Keyword Term="Keyword1"> <Jump Url="somefile.htm"/> </Keyword> <Keyword Term="Level 1 Keyword"> <Jump Url="somefile.htm"/> <Keyword Term="Level 2 keyword"> <Jump Url="somefile.htm"/> </Keyword> <Keyword Term="Label 3 keyword"> <Jump Url="somefile.htm"/> </Keyword> </Keyword> <Keyword Term="JumpToKeyword1" Ref ="Keyword1"/> <Keyword Term="KeywordPopuplist"> <Jump Url="somefile1.htm"/> <Jump Url="somefile2.htm"/> </Keyword> </HelpIndex>
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
This URL wont show the navigation
Copyright (c) 1995-2012, Robert Chandler, The Helpware Group