How to identify the version of a CA Gen Proxy

book

Article ID: 131938

calendar_today

Updated On:

Products

CA Gen CA Gen - Run Time Distributed

Issue/Introduction

In the process of upgrading CA Gen 8.0 to CA Gen 8.6 we also have various (older) versions of Gen proxy deployments.
Can you please advise how to identify the generation version of a proxy by looking at the proxy files?
The version information is required for CA Gen 6.5 or CA Gen 7.0 or CA Gen 8.0 and for proxy types C, COM and Java.

Environment

Release: Gen 6.5 and later
Component: Proxies

Resolution

In older versions of Gen (8.5 and earlier) the runtime libraries have versioning in their names, so whatever runtimes are deployed with each proxy will indicate the proxy version. For example:

  • For COM Proxy on Windows, the deployed runtimes for Gen 6.5, 7.0, 8.0 would include these respective dlls: cprt65n.dll, cprt70n.dll, cprt80n.dll. The Dependency Walker utility will show the dependency of the generated COM Proxy files <component>ax.dll and <component>cm.dll on the Gen runtimes.
  • For C proxy on Windows, the deployed runtimes for Gen 6.5, 7.0, 8.0 would include these respective dlls: pxrt650n.dll pxrt70n.dll, pxrt80n.dll. The Dependency Walker utility will show the dependency of the custom program consuming the C Proxy header file on the corresponding runtime file.
  • For C Proxy on Unix, the deployed runtimes for Gen 6.5, 7.0, 8.0 would include shared library libpxrt.<version>.*. The Unix command ldd (List Dynamic Dependencies) will show the dependency of the custom program consuming the C Proxy header file on the corresponding shared library version.
  • For Java proxy, the deployed runtimes have class package names which contain versioning i.e. com.ca.gen65..., com.ca.gen70..., com.ca.gen80.... The generated/compiled Java Proxy code will have a dependency on the respective runtime class version.

Additional Information

NOTE: In Gen 8.6 the runtime versioning has been removed.
CA GEN 8.6 > Release Notes > CA Gen 8.6 GA Complete > CA Gen Release 8.6 > Enhanced Features - see "Runtime Library Name Changes"
CA GEN 8.6 > Release Notes > CA Gen 8.6 GA Complete > CA Gen Release 8.6 > Removed Features - see "Version Number from Distributed Runtimes"
For COM/C Proxy the product version of a Gen Windows runtime dll file can still be determined by checking the Properties using Window Explorer (Details tab)
For C Proxy the product version of a Gen Unix shared library can be found using the strings command e.g. 
strings libpxrt.so|grep VERSION
@(#)CA Gen C Proxy Shared Library VERSION:8.6 FILENAME:libpxrt.so BUILD:86001 DATE:May 25 2018 10:47:29
For Java Proxy there is no information in the runtime to indicate the version (the class package name is now com.ca.gen...). The generated source code files for the proxy import/export views do refer to "Source Code Generated by CA Gen 8.6"