Solved

The application requires that assembly Microsoft.Vbe.Interop Version 14.0.0.0 be installed in the GAC

Posted on 2014-04-10
6
4,526 Views
Last Modified: 2014-04-25
I have scoured the internet.

I wrote a simple Winforms application that has worked perfectly for 2 years.  I just made some updates and I am getting the "Application requires that assembly Microsoft.Vbe.Interop Version 14.0.0.0 be installed in the GAC"  

The remote PCs....do not have Office on them.  I am using a access database, but they did not have access.  I have not upgraded anything on my machine and still using the same version as I did when I wrote the original code.  

I wrote the app in VS2005.  I did upgrade to VS 2010 and that is where I got the problem.  I went back to old machine and try to make the simple bug changes on 2005 and republish and still get the error on the remote machines.

I have looked at quite a few things...but can't figure this out.
0
Comment
Question by:bobnields
  • 2
  • 2
  • 2
6 Comments
 
LVL 35

Expert Comment

by:Bembi
ID: 39992672
I have the feeling, that your old application installed an assembly and while you installed VS 2010, the reference for your application is updated to a newer version. Now you try to run the solution and the client can not find the newer assembyly in the GAL.

So either you have to change your code back to the old assembly (the reference to the assembly in the source code), which was used before and which is possibly installed on the clients, or your have to distribute the new assembly to your clients.
0
 

Author Comment

by:bobnields
ID: 39992745
However, I did not install VS2010 on one of my machines.  It still has just VS2005.   I agree with what you are saying on a newer machine.  But I thought just to get through this, I would go back to my old machine and just create a new published load there.  But I still got the message.  And that definitely confused me.
0
 
LVL 35

Expert Comment

by:Bembi
ID: 39992875
Would lead me to roaming profiles? VS usually puts everything into the profile by default. So if your project is stored there, you may have overwritten some settings in the project by VS 2010-

But nevertheless just check inside your project, to which assemblies you reference there and then check, if these referenced assemblies are present on your clients.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 500 total points
ID: 39993183
The Microsoft.Vbe.Interop is installed on users computers when they install Office.

With older versions of Visual Studio, such as 2005, it was required on the user computer. Since you do not have the right to redistribute it, users needed to have Office installed.

In newer versions of Visual Studio (starting in 2010), you can embed the portions of the interop that you use into your application itself. This way it does not need to be installed on the user's computer.

However, when you migrate an application from an older version of Visual Studio to a newer one, the switch to the new mechanism is not made, so you still need the interop on the user's computers.

In order to correct the situation, go to your References window, click on each of the references for Office and Office applications, and while the reference in selected, look a the Properties window and set the Embed Interop Types properties to True.
0
 

Author Comment

by:bobnields
ID: 39994108
Thanks I will try.

The odd thing is that this worked forever.  It just now does not work.  

The client computers never had office installed on them and they still don't.
0
 
LVL 40
ID: 39994233
Another thing, while rereading. You are dealing with Access.

Is it possible that you changed the compilation target to 64-bit? This causes problems with a lot of stuff, and Access is one of these. You should usually target x86 when dealing with Access.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
T-SQL:  Sigh---Boy, this is fun.... 12 56
VIDEO DATASOURCE Control Resize issue 2 30
storing csv file in table variable in Python 2 23
AvlTree-Node Data type 4 8
Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question