Deployment on Windows 2000: Application requires Microsoft.Vbe.Interop Version be installed in GAC


  • I develop VS2005 applications on a Windows Vista Business OS using MS Office 2007 and my target installation platform is Windows XP using MS Office 2003 or Windows 2000 using MS Office 2000.  I am doing late binding for Excel since hard assigning references for early binding caused problems with the different MS Office versions on Vista/XP.  With late binding, I can now deploy the application to any Windows Vista/XP box without worries of either Office 11 or Office 12.  However, I cannot deploy to a Windows 2000 box because of the following installation error:


    Unable to install or run the application.  The Application requires that assembly Microsoft.Vbe.Interop Version be installed in Global Assembly Cache (GAC) first.


    Currently, the application includes a reference to Microsoft.Vbe.Interop.dll in the References from the folder on Windows Vista.  I have to move the application to an XP box, recompile the application (needs to pick up Microsoft.Vbe.Interop.dll from the folder) and then publish the application to my shared server folder.


    I downloaded Office Interop O2003PIA.EXE but have not installed it since I am not clear on what exactly it would do to my existing Windows Vista box.  I don't want to cause problems with my existing Office 2007 version but want to insure it gets picked up by the application when building the deployment package.  Once installed, would I need to include both the Office 12 and Office 11 Vbe.interop.dll files in the References or remove the Office 12 reference because of a conflict?

    Wednesday, April 02, 2008 7:47 PM

All replies

  • Hi,


    You can not include two references with the same name but different versions in your project. You choose either of the two versions and include it as a pre-requisit of your installation package.




    Tuesday, April 08, 2008 8:36 AM
  • Hi Jacob:


    Can I install the Office PIA on my Windows Vista box without messing up my existing pointers to Office 12?  In other words, does it create an Office 11.0 folder and place all of the .dlls for that version in the Office 11.0 folder so that I can point to the vbe.Interop in my VB.NET project?


    Tuesday, April 08, 2008 10:40 PM