The Loader is installed as a separate msi with Office Accounting. The Loader assemblies are installed into GAC including the interfaces.

Any external application using the Loader should bind to the interface assembly "ILoader.dll". An external application should never bind to the actual implementation assemblies, neither for the Loader or any other SBA assemblies.

Using reflection the external application can then instantiate an instance of the Loader class and cast it to the ILoader type defined in the interface assembly.

// Load the assembly that contains the loader object

Assembly loaderAssembly = Assembly.Load("Loader, Version=2.0.5201.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");

// Create an instance of the loader

ILoader loader = loaderAssembly.CreateInstance("Loader", false, BindingFlags.CreateInstance, null, null, null, null) as ILoader;

With the above two lines of code you now have an instance of the Loader class which can be used to retrieve the SBA objects that can launch forms, work with SDK objects, and launch reports.