We have a SSIS 2005 package that is installed on a central server and is called from multiple locations. This package uses a script task to call a .NET DLL which I wrote in c# and installed into the GAC on the central server. When I call the SSIS package from that server on which the package is installed everything is fine.
When I call the package from a remote server using SQL Server Agent, the job fails reporting that it cannot find the DLL.
Just to test out what is happening I installed the dll on the remote server and the package succeeded. So it appears that although the package is installed on one machine, when it is called from another using SQL Server agend it actually executes on the calling machine and it is the calling machine that must satisfy all the dependencies.
This package is going to be called from dozens of servers, many of which I do not have control over.
Is there a way in which I can, install, configure, compile, call or otherwise do something to the way this package is built or executed so that it will call the DLL from the GAC on the machine where the package is installed?