What do you mean "launch a DLL"? Assemblies and shared objects contain executable stuff but without a context to run against its pointless. As far as the platform knows, it is just a collection of functions. By itself, there is no execution instructions or order let alone rhyme or reason so how can it ever be launched? The purpose of a "service" is to often do non-"user interactive" tasks so why would you want the service to run anything external? Why not incorportate the functionality inside of the service itself? I suspect you either misunderstand the purpose of the assembly/shared object or you need to provide more information.