Skip to main content

Multiple Caché Installation Issues

Multiple Caché Installation Issues

You can install and simultaneously run multiple instances (Caché 4.0 and later) on a single Windows machine. Install Caché as for a single installation, giving each instance a unique name, a unique installation directory, and a unique port number.

Please refer to the Multiple Caché Instances section of the Caché System Administration Guide for more detailed information.

Installing multiple Caché instances is limited by components where only one exists on a system. For example, typically there is only one web server on a system; and as such, the Caché installation configures CSP for the most recent installation. Caché client components stored in the registry encounter the same issue. Caché stores its ODBC driver and ActiveX components in the registry using one name for each. Currently, the last installation updates these components to point to the last instance installed. If you are adding this release of Caché to your machine and keeping older (Caché 4.1 and earlier) versions running, you need to register the latest components. See Registering Files for details.

InterSystems makes an effort to move common components to a common directory that can be shared across Caché instances. Unfortunately, because of backward compatibility issues, not all current Caché components support Caché 5.0 and 4.1 instances and are even less likely to support Caché 4.0 instances on the same machine.

As a work-around, you can take advantage of a feature Microsoft introduced with Windows 2000 and later. You can force your executable to ignore the registry paths to an executable by creating an empty file of the same name with .local appended to the executable name.

For example: CStudio.exe would need an empty file called CStudio.exe.local to force the Studio program to look in the current directory, before using the registry path. By creating these empty .local files, you enable a previous Caché instance to use the compatible local files, rather than a newly installed current Caché set of registered executables.

To create .local files for all the executables in a directory type the following at a DOS prompt:

for %c in (*.exe) do set tempvariable= >%c.local

For more information on .local files, see the MSDN library article Dynamic-Link Library RedirectionOpens in a new tab.

Registering Files

The Caché installation contains a Regfiles.bat script file in the install-dir/Bin directory that reregisters object tool files in a common Caché directory. You require Administrator privileges to run RegFiles.bat.

You need to run this script only if you install or uninstall any instance of Caché 4.1 or earlier; if you are running only instances of Caché 5.0 or later, the object tools function properly with multiple instances.

Here is an example of running the script:

C:\MyCache\Bin>regfiles.bat

C:\MyCache\Bin>rem Register Cache Self-Registering executables in
 common directory
.
.

If after running RegFiles.bat, you still receive errors similar to the following when you start Studio:

Cannot create class factory for COM_SLSID_TNodes

Run the script with the ALL argument; this reregisters all JCOM DLLs in addition to the other files.

For example:

C:\MyCache\Bin>RegFiles.bat ALL

C:\MyCache\Bin>rem Register Cache Self-Registering executables in
common directory
.
.
C:\MyCache\Bin>rem Register JCOM dlls

C:\MyCache\Bin>set CacheDir=C:\MyCache\bin\
.
.
Important:

Running RegFiles.bat ALL when it is not necessary will prevent the uninstall procedure from removing some registry keys under HKLM\Software\InterSystems when you uninstall the last Caché instance.

FeedbackOpens in a new tab