Anchor links do not work in CHM when published server-side

Please post all questions and comments regarding Help & Manual 7 here.

Moderators: Alexander Halser, Tim Green

Anchor links do not work in CHM when published server-side

Unread postby Rob van Haarst » Mon Jun 18, 2018 10:10 am

We are using Help and Manual 7 server edition.
In a help topic, I have links jumping to anchors within the same topic.
We have a problem publishing these anchor jumps to the CHM format.
If I use the Publish button to publish from my local computer to a local .CHM file, and then run the .CHM file, the anchor jumps work correctly.
If I have these published by a nightly batch on the server side, the anchor links in the resulting .CHM file do not work (even after the file is distributed to the local file system of my computer).
Error: Can't reach this page - Make sure the web address //ieframe.dll/dnserrordiagoff.htm# is correct.
Except for the anchor links, the server-produced .CHM file is fully functional, including links-to-topics (as opposed to links-to-anchors).
Rob van Haarst
 
Posts: 3
Joined: Thu Feb 05, 2015 2:58 pm

Re: Anchor links do not work in CHM when published server-si

Unread postby Tim Green » Mon Jun 18, 2018 11:31 am

Hi Rob,

This is normal and intended by Microsoft. Actually, CHM should not be working at all on your server. That is the intended functionality by Microsoft. Ever since Windows XP SP1 CHM has been blocked in all external locations and is only supported on local drives. It used to be possible to get around this with a Windows Registry hack but this now only works on 32-bit Windows. It has been blocked completely and permanently on all 64-bit Windows, and since that is now the standard CHM must now be treated as a local format only.

Programmers can solve the problem by adding code to their applications to make a local copy of the CHM file on the user's computer and then making their help calls to this copy. We have been doing this for years with the server version of Help & Manual and it works very well.

However, since H&M makes it very easy to publish the same project to both CHM and WebHelp (it's just a question of selecting a different output format when you compile) it's no problem to produce different version for each scenario: HTML Help for help that must be installed on local computers and WebHelp for help on networks.

In Help+Manual 7 you also have the option of using the new EWriter format, which combines the benefits of CHM and WebHelp and eliminates the disadvantages of both:

https://www.helpandmanual.com/help/inde ... writer.htm
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
User avatar
Tim Green
Site Admin
 
Posts: 20080
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany

Re: Anchor links do not work in CHM when published server-si

Unread postby Rob van Haarst » Wed Jun 20, 2018 8:40 am

Hi Tim,

Thanks very much for your informative reply. I am still figuring out what it means for our situation. The options you mention don't seem to apply to us.
I suppose that in your alinea "Programmers...", by "make a local copy" you mean: execute a command that calls the helpman.exe on the server and that will publish .CHM to a "C:\..." output path. But in our situation we must publish nightly to a server dir, from which the .CHM output files are picked up by .Git and distributed as part of a larger delivery process.
I realise in H&M it is very easy to publish exactly the same contents to Webhelp, but we don't like that this results in very much larger quantities of stand-alone files in the distribution process. Also we would need to put in time and energy to improve the Webhelp Keyword Index. The default .CHM keyword index is absolutely great, the Webhelp counterpart does not work nearly as well.
I'm in 2 minds about exploring EWriter, it seems like a huge move to solve a tiny problem. That tiny problem is achor links; we don't use them very frequently. All the other .CHM features (still) seem to work fine the way we have set it up now.
Your answer is no doubt realistic, but was unexpected. I'm sure that you're correct that our choice for Microsoft HTML Help as the principal Help format no longer seems a viable option in the long run. But at the same time, it still serves us for 98 % today.
We do actually publish all our content to Webhelp and PDF as well (by way of alternative formats).

My current conclusion from all this is that we must simply add a work instruction that anchor links, if used at all, must become conditional: they must only be published to the Webhelp output format, and will have to remain plain text in the .CHM format.
Do you perhaps have any additional thoughts? Otherwise, let's close this thread and thanks for your time!

Rob
Rob van Haarst
 
Posts: 3
Joined: Thu Feb 05, 2015 2:58 pm

Re: Anchor links do not work in CHM when published server-si

Unread postby Tim Green » Wed Jun 20, 2018 12:11 pm

Hi Rob,

The writing has actually been on the wall about this ever since the release Windows XP SP1. Note that you are only able to open your CHM files at all because your users are still using 32-bit Windows, because that unfixable restriction that is stopping anchor links is already in those versions of Windows as well (others may follow). As soon as they upgrade to 64-bit Windows all calls to CHM files via the network will fail. Completely and permanently.

I suppose that in your alinea "Programmers...", by "make a local copy" you mean: execute a command that calls the helpman.exe on the server and that will publish .CHM to a "C:\..." output path.

No, what is meant by that is that at runtime your program running on the client machine makes a copy of the CHM to that local machine where the program is running and then routes its help calls to the local copy of the CHM. This is a runtime solution, not a build-time solution. If you wish to continue to use CHM in the long term and are deploying in a network environment this is the only viable solution. Any other workarounds will fail completely as soon as your users start using 64-bit Windows.

All the other .CHM features (still) seem to work fine the way we have set it up now.

That's OK if you are aware of the risk moving forward: It is quite possible that Microsoft will add the same restriction to 32-bit Windows as well in an update. They may not do it, but if and when they do it will be without warning, quite possibly in a normal Patch Tuesday update.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
User avatar
Tim Green
Site Admin
 
Posts: 20080
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany


Return to Help & Manual 7 Forum

Who is online

Users browsing this forum: No registered users and 3 guests

cron