API Help
EPLAN API / User Guide / API Framework / Add-ins / Shadow Copying API Assemblies
In This Topic
    Shadow Copying API Assemblies
    In This Topic

    Since version 2.6, EPLAN API assemblies are shadow copied, i.e. during registration they are stored into temporary folder, and loaded from there. 

    The benefit of shadow-copy technique is that original assemblies are not locked so newer versions can be distributed via a network share even when are currently used by another workstations. 

    This concerns both addons and addins. 

     

    Addons

    The whole addon's bin directory with subdirectories will be copied to the user application roaming directory (%appdata%\EPLAN\ShadowCopyAssemblies\Process-ID\Addon-Name). 

    So all files (*.dlls, *.xml etc.) and all bin subdirectories (language subdirectories etc.) are also copied. This is done when EPLAN starts and an addon is registered or when an addon is manually registered from Addons dialog. 

    Eplan will load addon's assemblies from the shadow directory and not from the original addon directory. So an addon could be updated without the need to stop all Eplan instances using the addon. 

     

    Addins

    If an addin is loaded by Eplan start or via addin menu point, it will be copied to a shadow directory (%appdata%\EPLAN\ShadowCopyAssemblies\Process-ID\). 

    Eplan keeps the original addin path for further assembly resolving. This means, if an addin references other assemblies from the addin original path, these referenced assemblies will be found. 

    After resolving they will be copied to the shadow directory. The problem could be referencing data from other directories using a relative path to the original addin directory. 

    As a solution, there was created IEplAddInShadowCopy interface allowing getting original path of an addin.

    See Also