Missing DAO licence on target PC

G

gianni

I have developed a VB.net application (vs.net 2003) using DAO 3.51.
This application uses some classes that I have imported from an old vb5
application converted to vb.net by the application wizard.

The application works fine on my developing-PC and on my
developing-notebook (running both XP-Pro/SP2/IE7), but when I install it
on a clean XP-Pro/SP2/IE7 machine, it does not work anymore.

I get the error "application as generated an exception that could not be
handled".
All my routines have a try/catch/finally, so I was confused by this
error. Thus I have installed on the target machine the vs2003 and run
the code and discovered the problem:

- I have no license for the DAO3.51 on the target machine :-O

Of course I have installed DAO3.51 on the target machine (there are
running several vb5 application using DAO3.51)

I registered the dao3.51 again with regsrv32.exe , but without result.

I have create a Setup Project with the Setup Wizard. It detect the DAO,
it warns me that I have to check the reference for DAO, but no more
messages.
I have installed dozen times the application on the target machine, but
never get it running.

Any suggestion? What can I do with that missing DAO reference?
(I repeat, the dao3.51 is already correctly installed for the vb5
appplication on the target machine)

Thank you for replying.
 
C

Cor Ligthert[MVP]

Gianni,

Things as DAO have AFAIK never had a license, they were in SDK's and
servicepacks, to make it easy, can y try if it helps if you install your old
vb5 packed on the other machine (and probably deinstall it again).

http://support.microsoft.com/kb/239114

Because that you can build your program, you have probably set a reference
to it in your project using Projects -> references -> com

Cor
 
G

gianni

Thank you for your reply, but installing vb5 on the target machine did
not help.

Anyway, on the target PC it was already a well working Jet/dao system,
because I had installed on the past VB5 application using DAO.

I cannot understand where is the problem!

I get the error at the following line:

"Private oDAO_DBEngine As New DAO.DBEngine"


The error is:

"An unhandled exception of type
'System.Runtime.InteropServices.COMException' occurred in myapp.exe"

"Additional information: No licence for the use of this class available"

(Remark: I have traslated in english the last text, because my XP is not
in english)


I cannot find any explanation for this problem.

Any more suggestions?

Thank you.
 
S

Scott M.

Can I ask why you are using DAO in the first place? That was 3 Microsoft
data access technologies ago.
 
G

gianni

Scott M. ha scritto:
Can I ask why you are using DAO in the first place? That was 3 Microsoft
data access technologies ago.

The database is a mda (access '97) and I have read that jet/dao is still
the best way and most efficient one to manage access database.
 
G

gianni

a a r o n . k e m p f @ g m a i l . c o m ha scritto:
BS, jet is not a database, and DAO is not an option

jes, but i did not say that JET is a database.

What does mean "DAO is not an option"?

I had to write a program for a company using an access database since
1994. The main core for application is in vb4/vb5 (that I wrote 12 years
ago using dao/jet).
This time I had to use VB.net (because for some required components) and
I have just used ado/jet for the database, instead of ado.net.
 
A

a a r o n . k e m p f

DAO hasn't been included with Windows, MDAC or Office for almost a
decade
 
A

a a r o n . k e m p f

have you CONSIDERED using DAO 4.0?
I mean if you MUST use an obsolete, sorry DAL, use the most current
one.

But JET is dead and it has been for a decade.

Sorry
 
S

Scott M.

That's not true. Technically, there is no such thing as an "Access"
database. Microsoft Access is a software product that gives the user an
easy way to work with the actual "JET" database that it encompases.

Having said that, the Data Access Object technology (DAO) used to interact
with JET databases did tend to give better performance results, but after
DAO, there was ADO (ActiveX Data Objects) using an OLE DB Provider. Now,
there is ADO .NET.

Unless, you has some very specific reason for needing DAO, I'd go with ADO
..NET and its System.OleDB objects.

-Scott

message
BS, jet is not a database, and DAO is not an option
 
S

Scott M.

Also, not true.

For older databases (such as a JET database made with Access 97 and
backward), DAO did provide superior performance, in terms of programmatic
access to your data.

It's just that Microsoft has changed the underlying database engine in more
recent versions, so DAO becomes obsolete FOR THOSE NEWER DATABASES.

If, for some reason, you still have an older JET database, DAO will give you
supierior results.

-Scott

message
bs; it' s not better performance, it is an obsolete database
 
A

a a r o n . k e m p f

who mentioned 'for jet databases'??

compare SQL + ADO to JET + DAO
and I just don't buy it.

Sure-- using DAO _MIGHT_ be faster for Jet.
but JET is obsolete; and who wants to use an obsolete DAL just because
it ONLY WORKS ON A OBSOLETE DATABASE?

DAO and JET have both been obsoleted for a decade.
DAO doesn't fit into the 'worlds most popular database' and it hasn't
been included with MDAC, Office or Windows for almost a decade.

Only a MORON would use it for anything for any reason whatsoever.

-Aaron
 
A

a a r o n . k e m p f

sort of like saying 'if all you've got is rocks than a hammer is
inherently better than a screwdriver'
 
S

Scott M.

You are missing the point and that fact that you are willing to call people
names unprovoked seems to indicate a bit about you to us.

To answer your question, (Who said anything about JET?), the OP did. He
said that he's working with an Access 97 database and as I then corrected
you on, that does, in fact, mean he's got a JET database. Whether you are
willing to accept that DAO is faster on JET databases than other data access
methodologies is really irrelevant, it's a fact, not an opinion.

So the fact is that the OP has a JET database and the fact is the DAO is
faster with JET databases.

No one is disputing that DAO is obsolete. In fact, I'm pretty sure I was
the one who originally asked the OP why he wanted to use a data access
technology from 3 generations ago, but did you ever stop to think that maybe
the OP can't upgrade the DB to something newer, even though you simply want
him to? Wanting a thing bad enough doesn't make it so.

-Scott

message
who mentioned 'for jet databases'??

compare SQL + ADO to JET + DAO
and I just don't buy it.

Sure-- using DAO _MIGHT_ be faster for Jet.
but JET is obsolete; and who wants to use an obsolete DAL just because
it ONLY WORKS ON A OBSOLETE DATABASE?

DAO and JET have both been obsoleted for a decade.
DAO doesn't fit into the 'worlds most popular database' and it hasn't
been included with MDAC, Office or Windows for almost a decade.

Only a MORON would use it for anything for any reason whatsoever.

-Aaron
 
A

a a r o n . k e m p f

there is no point to using DAO and Jet.

and DAO is not faster-- because Jet is a piece of shit and DAO only
works with a piece of shit db.
Furthermore- you need to de-instantiate your variables when you use
DAO.

That is, by definition-- AGAINST THE VERY BASIC NATURE OF VISUAL
BASIC.
If your library sucks so bad that you've got to explicitly 'set dbs =
nothing'-- then you need to STFU and get a new library.

-Aaron
 
G

gianni

a a r o n . k e m p f @ g m a i l . c o m ha scritto:
have you CONSIDERED using DAO 4.0?
I mean if you MUST use an obsolete, sorry DAL, use the most current
one.

But JET is dead and it has been for a decade.

Yes, I tried with DAO 4 too, on a clean machine and after some
work-around I got it to run. But I have still no general solution for my
problem.

Anyway, as I already said, I had to write an application for a
client/server system that is running since 1995.
The database is a JET system created in the 1995.
The customer told me to write an application for that database.
I had to use vb.net (I would have preferred vb5/6).
DAO is an efficient way to manage jet database, obsolete, but still the
most efficient one.
 
C

Cor Ligthert[MVP]

Aaron,

For Microsoft is everything obsolete older than 10 years.

May I ask you if you are already obsolete or can you still go on?

:)

Cor


"a a r o n . k e m p f @ g m a i l . c o m" <[email protected]> schreef
in bericht
who mentioned 'for jet databases'??

compare SQL + ADO to JET + DAO
and I just don't buy it.

Sure-- using DAO _MIGHT_ be faster for Jet.
but JET is obsolete; and who wants to use an obsolete DAL just because
it ONLY WORKS ON A OBSOLETE DATABASE?

DAO and JET have both been obsoleted for a decade.
DAO doesn't fit into the 'worlds most popular database' and it hasn't
been included with MDAC, Office or Windows for almost a decade.

Only a MORON would use it for anything for any reason whatsoever.

-Aaron
 
A

a a r o n . k e m p f

I'm not sure I agree that _ANYTHING_ written with DAO is truly client
server.
it's more like client-client

I don't think that DAO is the most efficient DAL because JET Is not a
database.

You can prance around all you want-- playing word games.
But DAO isn't an option; and neither is Jet.

-Aaron
 
S

Scott M.

Your stubborness is just showing your ignorance.

JET is a database (that is a fact) and if you still have to use one, DAO is
still a technology that works.

DOS may not be the best operating system and it may be obsolete, but that
doesn't mean that it can't be used if the situation were to warrant it.



message
I'm not sure I agree that _ANYTHING_ written with DAO is truly client
server.
it's more like client-client

I don't think that DAO is the most efficient DAL because JET Is not a
database.

You can prance around all you want-- playing word games.
But DAO isn't an option; and neither is Jet.

-Aaron
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top