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 6 and 4 and type the answer here:
  • Post
  • hi Sheryl,

    if you want help troubleshooting, i recommend using the forums. there is more interaction available to investigate problems there at  http://social.msdn.microsoft.com/Forums/en-US/vsto/threads

    m.

  • Hi Mary Lee,

    How do you replace office 2003 interop assemblies with 2007 interop assemblies?

  • Brian,

    It's not completely clear what your question is about.

    If you are talking about replacing the Office 2003 PIAs in your deploymeht, the easiest way to include the bootstrapper package for the Office 2007 PIAs is to install Visual Studio 2008 SP1.

    If you want to replace the Office 2003 references in your project, just open the project on a computer with Office 2007 installed.

    If you have more questions, feel free to search for answers or post questions in the VSTO forum: social.msdn.microsoft.com/.../threads

    m.

  • Hey,

    I recently deployed a setup package that includes Windows Installer 3.1 & .NET Framework 3.5.  I chose not to include the Office 2007 PIAs since it seemed to cause problems in a couple scenarios.  Everything works wonderfully on Windows XP, Windows Vista, and Windows 7.  At least until an office in Colombia (Spanish) downloaded and installed it my application.

    The Windows Installer 3.1 prequisite was installed, followed by my application.  However, all of their Microsoft Office applications got hosed.  Meaning, when they launched them - they could still use them however a message would tell them to install / reinstall Microsoft Office.

    The PCs having this problem are in the regional setting of Colombia (Spanish), Windows XP Professional SP3, Office 2007 (1 PC is Office 2003).  Their IT department had to end up creating new profiles for them to get everything back.

    Do you have any idea(s) on what might have happened here?  Did it have something to do with Windows Installer 3.1?  Surely it wasn't the interop DLLs that my application uses to access Office...

    Any help would be greatly appreciated.

    Thanks,

    Kevin

  • Hi Team,

    I wanted to know whether for distribution of PIA any liscense rquired ?

    Can I include PIA office files in my .net window application msi installer?

    Please help me @ ->      rohit.gupta.mrt@gmail.com

  • hi experts. i want to know few things as i'm trying my hands in vb.net application development.

    1) What is a bootstrapper, how does it help us?

    2) I've built an vb.net(Visual Studio 2008) application and now i want to deploy it in                  

    client's machines. I've used SQL server 2005 as backend and MS Access 2003 for printing report(somehow logically).Now i want to incorporate both sql server compact edition and MS Access 2003 in the setup file i.e: when i install my project/software into client's system, it will first install full SQL server and MS Access if they are already not installed, and then my application. how do i do that?

    If possible Please send Your replies to my mail Id- "jumba_4u@yahoo.com". Please experts, let me know in detail if possible, thank u in advance, God bless u all.

  • John,

    1. a bootstrapper is a fancy name for the setup.exe program that is generated by Visual Studio. the setup.exe program checks for and then installs any missing prequisites that your application needs so that it can run successfully.

    2. use the Prerequisites Dialog Box in Visual Studio to select SQL Server Compact Edition. for more information, see msdn.microsoft.com/.../7tx0bw8y.aspx

    normally, applications like Access are not bundled as a prerequisite. instead, you can create a launch condition to search for Access and then block installing your application if it not installed. for more information, see msdn.microsoft.com/.../f09xywha(VS.90).aspx

    if you have other questions, feel free to use the Setup and Deployment forum at social.msdn.microsoft.com/.../threads

    Mary Lee, Programming Writer.

  • I ran the Office 2007 PIA installer but the references are still not there. I can find the Microsoft.Office.Interop dlls nowhere on my computer. Add/Remove programs has the install in its list.

    So I tried the 2010 PIA installer (I have office 2010 installed, but wanted my project to be backward compatible to 2007). That did not work either.

    I uninstalled both and tried just installing 2010. No joy.

    I am using VS 2008 and installed Office 2010 after my VS 2008 install. Found a comment about problems with that order, but no resolution.

    When I installed Office 2010 (32 bit), the .NET Programmability Support option was selected. However, I still have no PIA reference and no DLLs and no Assembly\GAC folder. I am on Windows 7 Ultimate x64

    Last year I did try to install Access 2007 viewer on my computer which had Access 2003 at the time. This caused Access 2003 to be unstable. Uninstalling Access 2007 viewer solved the problem. Then this year I tried to install Access 2010 alongside Access 2003 with the same effect. Finally got rid of everything but Office 2010 versions.  

    Did I corrupt my system, vis-a-vis PIA installation, beyond repair?

    Any ideas how I can get the PIAs installed?

    Thanks! Brad

  • VS 2008 does not support developing solutions for Office 2010 - you'll want to use VS 2010 for this.  Installing the PIA redist does not instlal the PIAs for design time references, this is something that is done by Visual Studio and the files will show up in the references dialog.  In order for the PIAs to get installed in to the GAC, you need to make sure you have the corresponding version of Office installed.

    Your options are as follows.  Option #2 would be the recommended approach.  

    1) Use VS2008 to build an Office 2007 solution.  This will run on Office 2010.  

    2) Use VS 2010 to build an Office 2010 solution that will run on Office 2007 blogs.msdn.com/.../creating-an-add-in-for-office-2007-and-office-2010-that-quot-lights-up-quot-on-office-2010-mclean-schofield.aspx.

  • This is pretty awful. After a crash and reload from 100% complete backup, I installed Office 2007 Enterprise, then attempted to install QuickBooks 2010. It fails due to the PIAredist.msi error. Not much help here...

  • Great effort i get my solution from this post.

    ALEX Roads

    <a href="http://www.error1316.com"> windows error 1316</a>

    Thanks for sharing

  • I am trying to get Visual Basic 2010 express to work with the office.interop.excel reference. I can't seem to get the reference to show up on my .net "add references" tab. I have Office 2010 installed on my computer. I have tried to download the pia "installer" but I don't think I have a way to actually install it. I don't really understand what my special circumstance is. I have tried to add the Microsoft office 14.0 object library as a reference in vb, but that hasn't done anything at all to help.

Page 3 of 3 (42 items) 123

Common Pitfalls during PIA Deployment and Installation (Mary Lee)