This is an interop assembly, it does not contain any code. Just declarations automatically generated from the COM type library. Thus, redistribution is wonderful. The only reason it is installed in the GAC is because this PIA is the primary interop assembly. You only need the PIA when you write a class library that provides any interfaces in your own public methods. The client of such a library also needs a reference to the interop assembly in order to be able to use your methods, and it must be the same as you use. This is rarely the case at all, especially in BHO.
If you are using a version of Visual Studio prior to VS2010, simply set the Copy Local property to True to reference the assembly. Rebuild and you will get a copy of the DLL that you can deploy along with your own executable files.
For VS2010 and above, you really want to use the Embed Interop Type function. What embeds interface declarations in your own assembly is only the ones you actually use. This helps to significantly reduce the size of your BHO. And avoids the need to deploy this interop assembly. Highly recommended.
source share