For those of you who are using Windows 7 64-bit and might be encountering issues with either opening HTMLHelp files or using Outlook 2007 custom actions:

Problems opening CHM files from Delphi apps

In the 32 bit version of Windows 7 if you were getting errors such as ‘Action cancelled’ when opening network based .CHM files from your Delphi applications then you could simply make use of the HHReg.exe program from EC-Software.

HHReg.exe allows you to add registry entries for ITSSRestrictions and HHRestrictions to the required keys in [HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.x].

However, use of .CHM files in the 64-bit version of Windows 7 requires that you manually add equivalent entries into the [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftHTMLHelp1.x] branch of the registry. Note that the entries shown below in the URLAllowList will need to be tailored to meet your own requirements.

Windows Registry Editor Version 5.00
"UrlAllowList"="P:\Program\CMS.chm;C:\Program Files (x86)\Microsoft Office\Office12\1033\;file://;"

"UrlAllowList"="P:\Program\CMS.chm;C:\Program Files (x86)\Microsoft Office\Office12\1033\;file://;"

Custom Outlook actions

Having discovered the above solution to getting network-based CHMs working, I had an inkling that this might also be useful with a second ongoing problem involving custom actions in Outlook.

I had always used custom actions to launch an external Delphi application that would save each incoming/outgoing email in an external repository, move it to an Outlook folder, delete it, print it, etc. All this was based on the old Turbopower OfficePartner components which have recently been updated for use with Delphi XE/XE2. When I commissioned two new Windows 7 64-bit workstations a few weeks back I could not get the ‘launch’ to work.

It was only this morning that I had a brainwave and decided to try placing the required registry entries for launch in the Wow6432Node branch (see below). After a reboot (as they are HKLM entries) the Outlook launch facility now works a treat. Note that the choice of where to locate the ‘launcher.dll’ file identified in the ‘Launch’ key is up to you.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftExchangeClientCustom Actions]
"Launch"="4.0;C:\Program Files (x86)\Microsoft Office\Office12\Custom Actions\Launcher.dll;1"

I hope this helps someone.

One Response

  1. Hi Kim,

    Good article!

    I let Alexander Halser from EC Software know about your post and thought I would share his response:

    Hi Glenn,

    Thank you for the info! I wonder which version of HHReg Kim has used, because we updated it last June to include the 64 bit branch of the registry as well. It works in most cases, but not when a 32 bit program is calling the help on a 64 bit Windows. We haven’t found a workaround for this situation so far. Here are the details:

    Best regards,

    Alexander Halser