Since version 2.6, EPLAN API assemblies are shadow copied, i.e. during registration, they are stored into a temporary folder, and loaded from there (See API Help: Shadow Copying API Assemblies).
This concerns both add-ons and add-ins.
In case of add-ons, the whole add-on's bin directory with subdirectories will be copied to the user application roaming directory (%appdata%\EPLAN\ShadowCopyAssemblies\Process-ID\Addon-Name).
Example :
Application roaming directory Process-ID
So all files (*.dlls, *.xml etc.) and all bin subdirectories (language subdirectories etc.) are also copied. This is done when EPLAN starts and an add-on is registered or when an add-on is manually registered from Add-ons dialogue.
Eplan will load add-on's assemblies from the shadow directory and not from the original add-on directory. So an add-on could be updated without the need to stop all Eplan instances using the add-on.
At any start of EPLAN, the registry or the path for server add-ons is scanned for new add-ons. The install.xmlis read and the following things are done:
· Does this add-on fit to the main version?
· Is the correct license option booked?
· Is the version correct?
When everything is done so far EPLAN then:
· registers the new add-on:
· Read all *.xmlfiles from the CFGfolder. The settings are copied to the settings of the main version.
· Read the eplset<applicationmodifer>.xml: All binaries defined there are loaded now.
· Load the API modules.
· Register the API references.
· Register the scripts.
· Copy the base data of the add-on to the base data of EPLAN.