Solved

ADOX deployment problem under VB.Net 2003

Posted on 2004-04-02
16
331 Views
Last Modified: 2007-11-27
Hello!

I have an application which relinks some tables in an Access database using ADOX 2.7.  Everything works fine in the development  environment.  When the setup package is run (on the same machine) and then the INSTALLED program is run, I receive an error "System.IO.FileNotFoundException: File or assembly name Interop.ADOX, or one of its dependencies, was not found." when it attempts to run the code which references the ADOX library

(with, for example...
        Dim ADOXTable As ADOX.Table
        Dim ADOXCatalog As New ADOX.Catalog
        Dim ADOConnection As New ADODB.Connection
).

The "detected dependancies" include "Interop.ADOX.dll" and the file is in the installation directory with the executable program.  The other installed dll's are ADODB.dll and InterOp.ADOR.dll.  

MDAC 2.7 is installed on the machine and works fine when the code runs in the development environment.

Does anyone have any ideas on what can be causing the problem or any additional steps I need to take to use ADOX from an installed program?

Thanks,

John

0
Comment
Question by:John_Crumley
  • 7
  • 7
16 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10756930
When you say:

>>MDAC 2.7 is installed on the machine and works fine when the code runs in the development environment.

Do you mean that MDAC 2.7 is installed on the production machine or the development machine?  I would imagine that it is a dependency problem that you are having, because MDAC was not installed on the target machine.

Bob
0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10758485
Bob,

The problem is occuring on the development machine and on target machines.  Everything works fine within the IDE on the development machine but when I install the software on the development machine (by running the install app from within the IDE) I get the specified error.  It also occurs on target machines when MDAC 2.7 has been installed.

John
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10759045
In your solution, what references do you have for ADOX?

VS.NET 2002 or 2003?

When adding ADOX reference, I don't have Interop.ADOX.Dll?  How did you get this?

Bob

0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10761634
I am using VS.NET 2003.

The "Interop.ADOX.dll" is added to the "Detected Dependancies" of the install project when I add a reference to "Microsoft ADO Ext. 2.7 for DDL and Security" to the project and then "refresh dependancies".  It goes away when I remove the reference.  I will try excluding "Interap.ADOX.dll" and see what happens.

An interesting point is that ADO works fine in the installed program.  It is only the ADOX that has a problem.  This is one of the reasons I do not think it is an MDAC install issue.

John
0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10761663
Excluding "Interop.ADOX.dll" did not help.  Same error messagge.

John
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10765034
I need to ask what you are using ADOX for?  Would it be possible to do it the ADO.NET way?

Bob
0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10767704
I'm using ADOX to relink tables in an Access database.  The tables reside in a database which is the data store for a 3rd party business system.  I link the tables and then extract data from the 3rd party system into mine so that it can be manipulated without any impact on the 3rd party system.

My understanding is there is no ADO.NET options for this and that I must use ADOX or DAO.  I think of DAO as dead so I picked ADOX.  I may need to switch over to DAO and see if I can distribute it.

John
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 96

Expert Comment

by:Bob Learned
ID: 10767851
I understand now.  You are right in the ADO.NET does not have the capability to link Access tables.

Have you ever used a Dependency Walker program to determine the dependencies for the .dll file?

Bob
0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10799702
Bob,

No, I have not traced the dependancies that way.  I think I will punt at this point and do it in DAO though I may scrap the setup project and start over to see if that makes a difference.

John
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10825401
You should probably delete this question.

Bob "Cleanup Volunteer"
0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10828824
Ok...Thanks.
0
 
LVL 1

Author Comment

by:John_Crumley
ID: 10828859
Ok...how do I delete a question?

It appears I say "please delete this question"?  If not, a helpful hint on where to go in the navigation structure to delete the question would be great!

Thanks,

John
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10832393
Post a question in Community Support TA and ask for this question to be deleted.

Thanks,
Bob
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10832395
0
 
LVL 1

Accepted Solution

by:
GhostMod earned 0 total points
ID: 11121022
PAQed, with points refunded (500)

GhostMod
Community Support Moderator
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

It seems a simple enough task, yet I see repeated questions asking how to do it: how to pass data between two forms. In this article, I will show you the different mechanisms available for you to do just that. This article is directed towards the .N…
In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

708 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now