This article was previously published under Q328912
Microsoft supplies several primary interop assemblies (PIAs) that contain the official description of the most commonly used Microsoft Office XP type libraries. These Microsoft Office XP PIAs make interoperability easier between managed code and Office XP COM type libraries.
Component Object Model (COM) interop assemblies allow unmanaged (COM) code to be called from managed (.NET) code by using the Microsoft .NET Framework and the common language runtime. COM interop assemblies allow managed applications to bind to unmanaged types at compile time, and then provide information to the common language runtime about how the unmanaged types must be marshaled at run time.
While any number of COM interop assemblies may exist for a particular type library, only one COM interop assembly is designated as the PIA. The PIA contains the official description of the unmanaged types that are defined by the publisher of those unmanaged types. Additionally, a PIA is always digitally signed by that publisher.
Generally, you must avoid the use of any Office XP COM interop assembly that is not provided as part of the Office XP PIAs. You must also avoid the use of any Office XP COM interop assembly that is generated by Microsoft Visual Studio .NET at design time. Any Office XP interop assembly that is not included in the Office XP PIAs download is considered unofficial.
To download the official PIAs available to Microsoft Office XP applications and associated technologies, visit the following Microsoft Download Center Web site: