Help&Manual 2 go / context sensitve help

This section is for programmers. Please use it for all discussons on interfacing help with your applications and related subjects.

Moderators: Alexander Halser, Michael Schwarzl

Post Reply
Roland Muehlberger
Posts: 4
Joined: Tue Dec 11, 2012 11:28 am

Help&Manual 2 go / context sensitve help

Unread post by Roland Muehlberger »

In our application we use a chm version of the help file. As mentioned many times in the web (and this forum as well, I guess), this produces troubles with security settings of the browser.
Plus: our application uses xcopy deployment, so we want to avoid manual work that needs to be done on the client PCs (registry settings, security settings).
So we think of using Help&Manual 2 go as a local webserver serving a html version of the help file.

The following questions come to mind:

Are there any issues with a local firewall that might prevent the web server to work?
Currently we use context sensitive help with help ids mapping to topics. How to manage that with 2go?

Any comments appreciated.

Roland
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: Help&Manual 2 go / context sensitve help

Unread post by Tim Green »

Hi Roland,

The only problem with CHM is that you can't use it on networks. It's not a direct security problem, it's simply that CHMs cannot be accessed at all any more on network drives or the Internet, because they are blocked by Windows there. The "fixes" that used to work are now effectively disabled in 64-bit versions of Windows, and since 64-bit is now pretty much standard that means that CHM files can only be used locally. (It's a little more complicated than that, but that is still the net result of the situation.)

So if you want to access your documentation on a network or the Internet you need to use WebHelp. Context help works fine there, but not with context IDs because they only exist in CHM files, not in WebHelp. There you have to use normal URLs with a standard syntax, see this topic in the help for details.

If your help is being accessed on a server on a local network you need your own web server. Modern browsers are increasingly causing problems when you try to open complex websites directly without a server, and their new security restrictions will tend to make the help dysfunctional if you don't use a server. You can't use HM2Go for this, you need a full server. HM2Go is just a solution for getting around the web server problem when opening WebHelp locally, i.e. using it as local replacement for CHM files and for opening WebHelp stored in optical CD or DVD media, where the server can be implemented together with the WebHelp. HM2Go can't be used as a replacement for a full-time server accessed by multiple users.
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.
Roland Muehlberger
Posts: 4
Joined: Tue Dec 11, 2012 11:28 am

Re: Help&Manual 2 go / context sensitve help

Unread post by Roland Muehlberger »

Tim, thanks for your answer.

To make things clear:

We deploy the chm file together with the application, so every user has his own local copy.
That still causes troubles - as you mentioned with "opening websites without a server".
So hm2go seems to be a remedy for that.

I understand that the only way to open context sensitive help is by using the topic page URL.

That still leaves the question: is there a possible firewall problem arising when accessing
a web server (namely hm2go) on the local pc via localhost or 127.0.0.1? Background: I do
not want to swap the existing problem with another one...

Thanks,

Roland
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: Help&Manual 2 go / context sensitve help

Unread post by Tim Green »

Hi Roland,
Roland Muehlberger wrote:We deploy the chm file together with the application, so every user has his own local copy.
That still causes troubles - as you mentioned with "opening websites without a server".
So hm2go seems to be a remedy for that.
No! HM2Go is completely useless for CHM files! It has nothing at all to do with CHM because CHM has nothing to do with the web or web servers. A web server is only needed for WebHelp, which is normal HTML displayed in a web browser. CHM files are not normal HTML and they are not displayed in a web browser. They are a single file with a .chm extension that are actually a special Microsoft compressed archive with a special, unique internal format. They can only be displayed on Windows machines, and only with the Windows HTML Help Viewer, which is part of Windows. You don't need, and can't use, any other components for displaying CHMs.

If you are having problems displaying CHMs it is possible that you are being affected by a couple of uncorrected bugs in Microsoft's CHM help system:

The relative path bug makes the CHM viewer incapable of finding files on relative paths, which basically means it can only see files in the same directory as the CHM. It can only see files on an absolute path including a drive letter, and as a program vendor you can never be sure where the CHM is going to be located. The only solution to this one is to either ensure that all target files are in the same folder or script your links to find out the absolute path at runtime.

The current directory bug means that the CHM can only see files in its own directory if that directory is the current directory. If the user or a program changes the current directory the CHM can no longer see the files.

Microsoft has never commented on these bugs and clearly does not intend to fix them -- they have been known for many years.

You can improve resilience to the current directory bug by registering your CHM files. This should be part of your installation procedure, as it makes it much more likely that CHM files can be found and can find each other, even if their directory is not currently the current directory.

Register HTML Help files here:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help

To register a file create a new string value where the name is the name of the help file to be registered (with extension but without path) and the value is the path alone. If you take a look at these registry keys you will find plenty of examples there of help files that are already registered.
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.
Roland Muehlberger
Posts: 4
Joined: Tue Dec 11, 2012 11:28 am

Re: Help&Manual 2 go / context sensitve help

Unread post by Roland Muehlberger »

Tim,

thanks for your thorough answer.

I am aware of that chm is a different concept - still it relies on the browser control to dispay topics.
So we thought about abandoning the chm part and moving over to webhelp.

Hence I would appreciate your thoughts to this part of my post:
That still leaves the question: is there a possible firewall problem arising when accessing
a web server (namely hm2go) on the local pc via localhost or 127.0.0.1?
Thanks,

Roland
User avatar
Tim Green
Site Admin
Posts: 23156
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: Help&Manual 2 go / context sensitve help

Unread post by Tim Green »

Hi Roland,

Since HM2Go binds itself to the localhost address of 127.0.0.1 and never performs any operations on the network outside of the current machine it runs under the radar of Windows firewall and does not trigger any Windows firewall responses or dialogs and does not need firewall exceptions etc. to be able to operate. However, if you have a third-party firewall installed that also monitors internal network activity within the local machine they might respond to HM2Go's activity in one way or another. :)
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.
Roland Muehlberger
Posts: 4
Joined: Tue Dec 11, 2012 11:28 am

Re: Help&Manual 2 go / context sensitve help

Unread post by Roland Muehlberger »

Tim, thanks for your answer. I appreciate the time you invest answering "odd questions" :wink:
Post Reply