An XLL may have dependencies on other DLLs: these must be present on the machine where the XLL is running. If you are going to deliver the XLL add-in to another machine, you must ensure that these DLLs are available.
If a required DLL is not found when an XLL is opened, the user will get an error message such as "This file is not in a recognizable format".
In most cases, the required DLLS will already be installed on your target machine, since they are part of a standard Windows XP or Windows Vista installation. A list of the dependencies of each of the standard XLL+ builds can be found in the topic Run-time dependencies in the XLL+ Reference.
Note that all dependencies are on standard Microsoft run-time libraries. Standard XLL+ add-ins have no other DLL dependencies.
You can determine the dependencies of your XLL by using the
Dependency Walker tool, depends.exe
.
This can be found in the Common7\Tools\Bin
sub-folder of your Visual Studio installation.
Use the tool to inspect your compiled XLL file, and you will see a list of the files on which it depends, along with their versions and locations.
An XLL that uses asynchronous functions requires that the RTD server COM module (XllRtdLink.dll) is installed on the target machine. See Requirements for asynchronous functions for details.
An XLL that uses RTD object handles requires that the RTD handle server COM module (RtdHandleServer.dll) is installed on the target machine. See Object handles - Requirements and deployment for details.
If your XLL uses .NET or the Common Language Runtime, please see the technical note .NET requirements, to be sure that your .NET add-ins load into Excel properly.