Asynchronous add-ins are delivered as a pair of files:
This is an XLL+ add-in, written in C++, and linked to XLLPUSH.LIB.
This is an Excel add-in, written in Visual Basic for Applications, based on one of the supplied template files. The XLA provides essential services, including a menu, dialogs and "wiring" code that manages the timing of the conversations between the add-in and Excel.
All asynchronous add-ins also use the COM module XLPASYNC.DLL.
In order to distribute an asynchronous add-in to users, you need to ensure the following:
The easiest way to manage this is to put them both in the same directory. If you want to put the XLL somewhere else, make sure that the directory is listed in the XLL_PATH string in modCommands in the XLA.
Make sure that the COM library XLPASYNC.DLL is installed and registered on the user's machine. You can use a setup program to deliver and register it, or type at the command line:
Depending on where you installed XLL+, the precise directory may differ.regsvr32 "C:\Program Files\Planatech\XllPlus\Bin\XlpAsync.dll"
Obviously, you will also need to make sure your users have adequate access to any databases, feeds etc used by the add-in.
If you have a standard XLL+ development license and wish to distribute asynchronous add-ins to users outside your own organization, there may also be some run-time licensing requirements.