Common Pitfalls during PIA Deployment and Installation (Mary Lee)

  • Comments 42

Deploying or installing the Office primary interop assemblies (PIAs) can sometimes be problematic. There are several common errors that occur when you try to deploy or install the PIAs.

Deployment pitfalls

A. Can I deploy the PIA DLL with my setup project?  Yes, you can include the PIA DLL in your setup project, but we recommend that you use the Primary Interop Assemblies for the 2007 Microsoft Office system redistributable file from the Microsoft Download Center.  this way, the installer copies the PIAs into the GAC, and also installs binding redirects.  The binding redirects ensure that the latest version of the PIAs on the computer are always loaded.  This is how a solution developed for Microsoft Office 2003 still works on the 2007 Microsoft Office system.

Installation pitfalls

A. Do you have administrator privileges? The account used to install the PIAs must have administrator privileges.

B. Is the .NET Framework already installed? The computer must have a version of the .NET Framework installed (version 1.1, 2.0, 3.0, or 3.5) before the PIA installer is run. Windows XP does not include any version of the .NET Framework unless .NET 1.1 was downloaded from Windows Update. Windows Vista does include a version of the .NET Framework. When Microsoft Office is first installed, the .NET Framework installation is detected and the PIAs are automatically installed.

C. Is Business Contact Manager installed? If Outlook 2007 with Business Contact Manager is already installed on the computer, you may see the following error message when you install the Primary Interop Assemblies for the 2007 Microsoft Office system from the Microsoft Download Center:

Error 1316: Setup cannot read from file {PATH}\PIARedist.MSI. Check your connection to the network, or CD-ROM drive. For other potential solutions, see SETUP.CHM.

Business Contact Manager for Outlook 2007 installs the PIAs by default, and the file name is PIARedist.MSI.  However, the file from the Microsoft Download Center is called o2007pia.msi.  When you install the PIAs from the Microsoft Download Center, this name conflict causes the 1316 error.

The easiest thing to do here is to just ignore the error, because this message means that the PIAs are already installed. If you want to correct the error, uninstall the PIAs through the list of installed programs for the specific computer. Then you can reinstall the PIAs with the Primary Interop Assemblies for the 2007 Microsoft Office system from the Microsoft Download Center.

I don't recommend that you follow the workaround posted at Error 1316 when installing Office 2007 PIA’s, which changes the name of the o2007pia.msi file to piaredist.msi and updates the product.xml to point to piaredist.msi.  If you change the name of the o2007pia.msi, anyone that installs the PIAs after you will experience the 1316 error.

If you discover other PIA pitfalls, please feel free to leave a comment or question so I can update this entry.  Thanks for reading!

Mary Lee, programming writer.

Leave a Comment
  • Please add 7 and 1 and type the answer here:
  • Post
  • Response to #Mask.

    I have developed an application that uses Office Interop and run in on a server without office installed. However, if I try to use the Office integration features of the application I do get an error.

    The application runs because the interop references are all in class files that are not loaded until they are needed. So the application can run without trying to initialise any office components.

  • From where can I download PIA's for Excel 2003 which can be Installed in Win Vista..

    The links that I ve checked says it supports only upto Win XP for Office 2003

  • Karthik -

    The Excel 2003 (and Office 2003) PIAs are fully supported on Vista and Windows XP.

    Christin Boyd

    Program Manager

    Visual Studio

  • I wrote vb.net application with interop to microsoft project 2007 with the PIA files including, i make the installation in another computer but when i run the program, receive the message error msg COM+ register error.

    Maybe it's because the computer don't have the ms project install ??

  • Hi I have developed a .Net application in 2003 which uses opens word 2003 document and takes word document from user. Right now we build 2 setups one with Office 2003 - 11 PIA and one for office 2007 PIA.

    Can we combine both the setups. So that we just have once setup made in office 2003 works on 2007 also?

  • Just got a great tweet from Jeremiah Morrill about .NET 4. I love a challenge! In my first Whirlwind

  • Hi everybody!

    I am developing a commercial software (shareware) that accesses Outlook 2007 through PIA. Are there any Microsoft license issues? I don't ship the PIA with my installer.

    Thanks!

  • Well, I'm developing a WPF application that uses powerpoint to convert a PPT file to an XPS file so that the WPF Document Viewer can use it.  Basically, if I can't convert (which the Office 2003 interops won't do) then WPF is useless to me.

    Any ideas on how I can get the WPF Document Viewer to access the file properly?  My users are a mixed bag of Office 2003 and 2007 users.  The 2007 users, the application works fine.  The 2003, I can't get the interops installed at all.

  • Hi,

    I want to know if net framework 1.1 is strictly required for PIAs or if we have higher version of .net framework let's say 2.0 or 3 or 3.5 without having 1.1 installed, will PIA work.

    Thanks in advance!

    Please send your reply to raghvendra.d@gmail.com

  • .NET Framework 1.1 is the minimum version. Any later version of the .NET Framework will work fine too.

    m.

  • We have an application that uses the Office Interops to open and read Office documents. However our application also runs without Office installed on the target machine - in that case Office documents are not supported.

    Currently we deploy the interops directly with our app but we would like to use the proper approach and use the PIA installer to install the PIAs. You say, however, that the PIAs are only installed if Office is installed on the target machine. Office is not a prerequisit for our app, it's just an option, but since our app references the PIAs the PIAs are a prerequisit.

    Is there a way to install the PIAs without Office installed so that an app that references the PIAs will run even so Office is not installed?

  • I would like to know the answer to Simon's question.

    We have a similar situation with our build server. It doesn't have Office installed but our projects require the Office PIAs to build.

    We don't want to waste an Office license on the build server as it will never be used interactively.

    How to install the PIAs onto our builder server with Office installed?

  • Mary Lee,

    Thank you for your answer regarding Office 2007 PIA.  I had installed these through Bus Manager, so I unistalled and reinstalled just as you said and it worked!  6 hours gone from my day is now worth it thanks to this last step!

  • hi Simon and Simon B,

    i've followed up with the Office team, and their guidelines are the same as what i've stated at the top of this blog entry. it's possible for you to include the PIA assembly in a setup project, but it's not recommended.  the PIA installer also install binding redirects to work with future versions of Microsoft Office.  redistributing the Office PIAs may also break other installers because there will be multiple installers with the same files.  see Installation Pitfalls part C for an example.

    m.

  • Hi,

    I developed a Excel Add-ins that runs on Excel 2007. Everything runs well when I deployed to user Windows XP user with Excel 2007 installed. But I'm getting problem of Add-Ins referencing the office 11 error when I tried running the Add-Ins on Windows 7 PC. Any idea how to solve this?

Page 2 of 3 (42 items) 123

Common Pitfalls during PIA Deployment and Installation (Mary Lee)