Noral

Anand,

In the dnr TV video David Wright said it is possible in an HxS files to reference locally installed help content for things like Object, Int16, String, etc. Could you or David please provide an example of how to do this, maybe this could be a blog post. Like many others I would like my people to access their locally installed help content rather than calling up MSDN.

I have tried various combinations of Local and Index for the link types but I always get an error page that says:

Sorry, no topics were found for the selected link.

Keywords = "TTongue Tiedystem.String"
IndexMoniker =
Source URL =

or

Sorry, no topics were found for the selected link.

Keywords = "TTongue Tiedystem.Object"
IndexMoniker =
Source URL =

I know a lot of people have been asking about this functionality for awhile and I do understand that only HxS files can do what I am asking. Maybe I am just not getting the setting right.

TIA,

Noral



Re: Developer Documentation and Help System HxS Links to locally installed help content

Anand Raman - MSFT

Noral,

Let me know if this blog post http://blogs.msdn.com/sandcastle/archive/2006/08/28/727901.aspx helps

Anand..






Re: Developer Documentation and Help System HxS Links to locally installed help content

Noral

Anand,

That blog entry does not help. I am doing what it says but I still get the above errors.

Noral





Re: Developer Documentation and Help System HxS Links to locally installed help content

Anand Raman - MSFT

Are you trying to link to a previously installed help link

Anand..






Re: Developer Documentation and Help System HxS Links to locally installed help content

Noral

Yes!

In my help file one of the topics is 'ms-help://myHelp/v1.0/html/c9e7e14d-f7ff-53be-0a60-bf605d3ac72a.htm' there is an System.Object link that should go to ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref7/html/T_System_Object.htm but I get the above error.

Hope this is clearer,

Noral





Re: Developer Documentation and Help System HxS Links to locally installed help content

Noral

Anand,

Any update on this

TIA,

Noral





Re: Developer Documentation and Help System HxS Links to locally installed help content

Noral

Anand,

Any update on this





Re: Developer Documentation and Help System HxS Links to locally installed help content

Martin Darilek

Hi, IMHO You have two options how to resolve this problem:

1) plug help collection namespace ("myHelp" in your case) under MS.VSIPCC.v80 namespace (by H2Reg utility for example).
This is recommended namespace for 3rd party collections help files. If You correctly register this custom namespace and open official MS.VSIPCC.v80 in Help2 viewer, You will see Your collection as new tree node. Now any help links into .NET Framework classes should work.

2) You can decorate all help links with additional "namespace" attribute with specified namespace. For example original element <mshelp:link keywords="TTongue Tiedystem.String">Some text</mshelp:link> should be extended as <mshelp:link keywords="TTongue Tiedystem.String" namespace="MS.VSCC.v80">Some text</mshelp:link>
Pros: - you can open your help file colection directly in Help2 viewer with functional help links
Cons: - You must manually manage target namespace (and you must regenerate your help file, when target namespace changes)

for option 2) I've created Sandcastle post-transform component, where i can configure mappings between managed namespaces generated by BuildAssembler and help namespaces. Before final transformation my component finds all <mshelp:link> tags in processed XML document and adds corresponding help namespace as attribute into link. Help namespace is determined by configuration settings.






Re: Developer Documentation and Help System HxS Links to locally installed help content

Anand Raman - MSFT

Thanks MaD and that should work. The aboveoptions should work. Can you share the post-transform component.

Anand..






Re: Developer Documentation and Help System HxS Links to locally installed help content

Noral

Hi Martin,

I tried #1 and still have had no luck. The links still give an error message. If you use H2Reg maybe you can share your script that works and I can try substituting my info.

As for #2 do you have the post-transform component somewhere to where I can look at it, hopefully with an example :-)

Thanks,

Noral





Re: Developer Documentation and Help System HxS Links to locally installed help content

Martin Darilek

ad #1 my registration script is very complicated to share as an example. I will prepare h2reg sample with namespace registration and plugging custom namespace example

ad #2 I do not have any blog or registered project to share sources. I can send you component sources directly (just give me email address). I'm considering, I will register project or blog to share my work :-)





Re: Developer Documentation and Help System HxS Links to locally installed help content

Noral

Thanks Martin

Maybe for #1 you could use the SandCastle example as the example help file. Here is what my H2Reg.ini looks like:

Code Block

;------- Register -r switch

[Reg_Namespace]
;<nsName>|<nsColfile>|<nsDesc>
scif.web|TestDoc.HxS|SCIF Web Functions

[Reg_Title]
;<nsName>|<TitleID>|<LangId>|<HxS_HelpFile>|<HxI_IndexFile>|<HxQ_QueryFile>|<HxR_AttrQueryFile>|<HxsMediaLoc>|<HxqMediaLoc>|<HxrMediaLoc>|<SampleMediaLoc>
scif.web|v1.0|1033|TestDoc.HxS

[Reg_Plugin]
;<nsName_Parent>|<HxT_Parent>|<nsName_Child>|<HxT_Child>|<HxA_Child>

ms.vsipcc+|_DEFAULT|scif.web|_DEFAULT|TestDOC.HxA

[Reg_Filter]
;<nsName>|<FilterName>|<FilterQueryStr>

;------- Unregister -u switch

[UnReg_Filter]
;<nsName>|<FilterName>

[UnReg_Plugin]
;<nsName_Parent>|<HxT_Parent>|<nsName_Child>|<HxT_Child>|<HxA_Child>

ms.vsipcc+|_DEFAULT|scif.web|_DEFAULT|TestDOC.HxA

[UnReg_Title]
;<nsName>|<TitleID>|<LangId>
scif.web|v1.0|1033

[UnReg_Namespace]
;<nsName>
scif.web

;------- Merge -m switch

[Merge_Namespace]
;<nsName>|[AUTO]
MS.VSIPCC+

As for #2 why don't you create a project on codeplex or codeproject That way you have an excellent forum for your component, personally I am partial to codeplex. I am looking forward to seeing what you have done!!

Noral





Re: Developer Documentation and Help System HxS Links to locally installed help content

Martin Darilek

hello Noral,

for #2 see and try: http://www.codeplex.com/sandextensions






Re: Developer Documentation and Help System HxS Links to locally installed help content

Frank Hileman

I do not recommend option #2. I don't understand why would anyone do that If you use "Index" style links, your links are namespace-qualified type and member names. These types of links are very robust in that they will correctly resolve to whatever version of documentation has previously been installed for framework libraries or third party documentation.

See http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=2201297 for information on how to link to your own separately installed .HxS topics.

For example look at this "Index" style link:

Code Block

<mshelp:link keywords="T:Prodige.Drawing.FRectangle" tabindex="0" xmlns:mshelp="http://msdn.microsoft.com/mshelp">FRectangle</mshelp:link>

It does not matter what version of documentation is installed for the FRectangle data type, the link will always work correctly.

If you are creating a .HxS file I would assume you wish to integrate into Visual Studio documentation, otherwise, it is hard to understand why anyone would do it.






Re: Developer Documentation and Help System HxS Links to locally installed help content

Martin Darilek

Hello Frank,

I agree, option #2 is not recommended as an offical solution (I wrote pros and cons above).

I did some tests with help files and namespaces registration in the past and I wrote this component for purposes described below:

- index links into .NET Framework help collections and others does not work if my custom help file collection is displayed standalone in help viewer (similar like SQL 2005 Books online help collections shortcuts in start menu).

- when class keyword is registered in more namespaces, help viewer always displays small context menu with these namespaces for choose. This could be annoying sometimes.

MaD