English

Bug: Using ArcGIS 9.2 and MapObjects in the same process is not supported

Description

Using ArcGIS 9.2 and MapObjects (Professional or LT editions) in the same process is not supported.

Cause

MapObjects installs and uses the ArcSDE client version 3.0 of the pe.dll and sg.dll libraries. At ArcGIS 9.2 the ArcSDE 9.2 client has more recent versions of pe.dll and sg.dll. The version 9.2 of these .dlls are not backwardly compatible with version 3.0. This is not normally an issue as MapObjects and ArcGIS both install these libraries to different locations; MapObjects installs the libraries to the 'Program Files\Common Files\ESRI' location, and ArcGIS installs to 'ArcGIS\Bin'.
This means that for independent applications both ArcGIS and MapObjects continue to find the correct version of the libraries which are needed to function correctly.

Note:
You can therefore install and run independently both MapObjects and ArcGIS 9.2 software on the same machine; it is only the use of both in the same process which is affected.

However, there is a problem if both MapObjects and ArcGIS are used in the same process. This is caused by the way that Windows finds libraries. If a process has already loaded a library with a certain name, then that library will be used.
For example, the following scenario is affected by this problem. Create a custom component for ArcGIS 9.2 which includes a MapObjects Map control. When then ArcGIS will load the pe.dll and sg.dll libraries from 'ArcGIS\Bin'. Next, the MapObjects custom component loads and will also need to load libraries called pe.dll and sg.dll – MapObjects will attempt to use these already loaded libraries; however, they will not be compatible with the versions MapObjects installed to 'Program Files\Common Files\ESRI', and therefore MapObjects will generate errors.

Workaround

Installing the MapObjects 2.4 Service Pack for SDE 9.2 Support will resolve this problem for MapObjects Professional 2.4 installations. See the Service Pack readme file for more information.

There is no supported workaround for this issue for MapObjects LT.