IBM Support

Troubleshooting PCOMM and HOD EHLLAPI Bridge co-existence

Troubleshooting


Problem

If EHLLAPI bridge is installed on the same machine where PCOMM is installed, it may render the PCOMM EHLLAPI automation fail to run on PCOMM.

Cause

The EHLLAPI bridge and PCOMM use common libraries with file name like EHLAPI32.dll, pcshll32.dll, pcsapi32.dll, etc. These are responsible for driving automation but have different functionalities. This is a typical library contention condition in Operating Systems; No two applications should have the same name for a library having different functionality. If there such a condition occurs, when the application is invoked, the OS selects the library which is found first in the search path.

  • When we install PCOMM (like any other application), the ‘Path’ Environment variable gets updated with PCOMM’s installation path, eg: C:\Program Files (x86)\IBM\Personal Communications\”.
  • Further, when we install EHLLAPI Bridge, it too updates the ‘Path’ variable and prepends its name in the list of Application Paths. Eg: C:\Program Files (x86)\IBM\EHLLAPI\

With EHLLAPI Bridge applications path ahead of PCOMM’s, when an PCOMM automation application is executed, OS gets the EHLLAPI bridge’s path first and loads the library (.dll). Since the functionality of both are different, PCOMM automation fails.

Diagnosing The Problem

1.  Without EHLLAPI Bridge

Path = “C:\Program Files (x86)\RSA SecurID Token Common; C:\windows\system32; C:\windows; C:\windows\System32\Wbem; C:\windows\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\IBM\Java80\jre\bin; C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\IBM\Personal Communications\;

A PCOMM EHLLAPI API call makes the OS look for EHLLAPI dll’s through the listed paths and as PCOMM directory contains all the required libraries, the EHLLAPI connection will go through.

2.  With EHLLAPI Bridge

When EHLLAPI bridge is installed the ‘Path’ environment variable is prefixed with EHLLAPI bridge install location

Path = “C:\Program Files (x86)\IBM\EHLLAPI\; C:\Program Files (x86)\RSA SecurID Token Common; C:\windows\system32; C:\windows; C:\windows\System32\Wbem; C:\windows\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\IBM\Java80\jre\bin; C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\IBM\Personal Communications\;

Now with this, for a PCOMM EHLLAPI API call OS looks for EHLLAPI dll’s through the listed paths and as EHLLAPI bridge directory contains the entry point libraries (ehlapi32.dll and pcshll32.dll), which have the same name but the operations and the code flow are different, the EHLLAPI connection will fail.

Resolving The Problem

There is no resolution to this issue and only a workaround to deal with the situation, as it is not common for programs to have same/duplicate/conflicting names (as entry points) in windows applications.

In order for PCOMM automation libraries to work, PCOMM path must be preceded before the EHLLAPI bridge path.

Path = “C:\Program Files (x86)\IBM\Personal Communications\;C:\Program Files (x86)\IBM\EHLLAPI\; C:\Program Files (x86)\RSA SecurID Token Common; C:\windows\system32; C:\windows; C:\windows\System32\Wbem; C:\windows\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\IBM\Java80\jre\bin; C:\Program Files (x86)\Skype\Phone\

At any given point of time, either PCOMM automation will work or the automation on HOD through EHLLAPI bridge will.

 

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSS9FA","label":"IBM Host On-Demand"},"Component":"EHLLAPI Bridge","Platform":[{"code":"PF033","label":"Windows"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
11 August 2018

UID

ibm10725431