English

Problem: Dependency on Database Access extension is not removed when uninstalling a custom extension

Description

The problem occurs when a custom extension which includes the Database Access extension as a dependency is created and the custom extension's install script attempts to make an SDE connection. If the attempt is unsuccessful, the custom extension is unloaded, but the Database Access extension is not. Typically, when a custom extension is unloaded, any dependent extensions should also be unloaded.

Cause

A dependency on the Database Access extension is created whether an SDE connection is made or not.

Solution or Workaround

The Database Access extension can be unloaded at the same time as the custom extension using either of the following two options:

  • In the install script for the custom extension, set the SDEConnection variable to nil and then use av.PurgeObjects. For example:

    Code:
    theSDEConnection = nil
    av.PurgeObjects

  • Hardcode the Database Access extension unload using the 'Unload' request at the end of the install script. For example:

    Code:
    theExt = Extension.Find("C:\esri\av_gis30\arcview\ext32\dbaccess.avx".AsFilename)
    theExt.Unload


    Note:
    If using this option, it is important to place this code within the "If...then" statement that checks for the SDE connection.