Solved

VB6 + Acces 97 + Jet 3.51 - errors when distributed.

Posted on 2007-03-25
5
452 Views
Last Modified: 2013-12-25
I have a problem with Microsoft VB 6 with an application I have written for resale. It uses an Access 97 database and Jet 3.51 which I am happy with.

The program once compiled works fine on the machine I work on, but when I deploy it (using Innoscript) and it is downloaded on new PC's, the program falls over at the following line...

datStaff.RecordSource = "Select * from [C:\Program Files\directory].[staff]"

... I thought I had fixed the problem by packaging MDAC_TYP.EXE with the software, as this seemed to work on a clean installation.

However, if you try to re-install again, it comes up with "Microsoft MDAC 2.5 is already located on this Windows machine...." etc

I am at my wits end now - it's really urgent I get this sorted - has anyone come across this problem before and knows how to solve it ?
0
Comment
Question by:milkmon123
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 14

Expert Comment

by:Matti
ID: 18789482
Hi!

Current versions of MDAC does not have Jet engine anymore
Try to use Pakage &  Deployment wizard, then see what files it did include in support folder and add these in your existing setup.

It has dependency capasity in VB-projects.

Matti
0
 
LVL 1

Author Comment

by:milkmon123
ID: 18791523
Hi

I tried that. It came up with a handful which weren't being included in the INNOSCRIPT setup... namely...

ijl11.dll
msado15.dll
msado25.tlb

Also COMCAT.DLL and URLMON.DLL - but INNOSCRIPT wouldn't allow me to complile the install with these included as it said they were 'unsafe' files.

Anyway, I tried with the others (ijl etc) - and when I ran setup on the clean machine, it came up with errors when trying to register the files giving 0x4 and 0x3 errors and also saying "Load Library "Windows\System 32\msado15.dll" failed - the specified procedure could not be found) - however the file is there.

Finally I thought 'to Hell with Innoscript' and went back to using the package and deployment script.

This was even more pathetic than Innoscript itself - when I tried to setup, it copied the first few files, then stopped saying 'certain files in setup are newer than the files on your pc - you will need to restart to continue setup'.... 'click YES to restart now'.

I did this, the system restarted, and then nothing (I assumed setup would start again itself).

When I clicked on setup again, it came up with exactly the same - 'certain files in setup are newer than the files on your pc - you will need to restart to continue setup'.... 'click YES to restart now'.

So I've drawn a blank.

the compiled VB program won't run on a machine from install. However, if the machine has Microsoft Visual Studio / VB6 installed, the compiled VB program runs no problem.

Problem being, although I've been through the list of dependencies and dll's and ocx's etc and tried even manually registering them, I am getting no luck.

The only non-microsoft control I'm using is CCRPDTP the date picker control - and this is registering fine - the problem lies with Microsoft's own access components - can anyone help ?

I even tried running MDAC_TYP.EXE on there. This worked at first, and I thought ' hey presto ' - but I did a system restore to check again, and this time round it wouldn't even let me run MDAC - has Microsoft fudged up it's own operating system do you think ?

Any suggestions - please - I am ready to take my own life...............
0
 
LVL 14

Accepted Solution

by:
Matti earned 500 total points
ID: 18791925
These are ADO not JET: msado25.tlb and msado15.dll Is it ADO you must have referenced (Microsoft ActiveX Data Objects Library)
If it's jet It shuld add many Jet.dll's and Dao350.dll here is list for Jet 3.51:

VB5DB.DLL
msrepl35.dll
MSRD2X35.DLL
expsrv.dll
vbajet32.dll
MSJINT35.DLL
MSJTER35.DLL
msjet35.dll
DAO350.DLL

Did you use late binding, then B&D wizard can't found the dependencys.

ijl11.dll is Intel JPG conversion-dll.
URLMON.DLL is IE file don't add it
COMCAT.DLL is on of VB 6.0's base runtimes

This is a great tool in setup testing in live:
http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en

Matti





0
 
LVL 1

Author Comment

by:milkmon123
ID: 18793816
Matti you beauty !!!!!

Sorted !!!!!

Here is a virtual pint of beer from England - I'm going to celebrate up at my local now - and a toast to you :-)


 | ___ _ _ _ ___ |
|                  .       |     <- Sorry about the pic -
 |   .        .           |           closest I could get to a real pint :-)
  |                      |
   |       .      .     |
    |         .        |
     |________|


All the best

Matt
0
 
LVL 14

Expert Comment

by:Matti
ID: 18794474
I'm glad that I could help you! This is EE, there has been times I had open questions (=, mostly I have found the answer here.

Matti
0

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
VB6 - Convert HH:MM into Decimal 8 76
Problem to error 4 81
Work with App store 7 122
Adjust the codes 3 63
There is an easy way, in .NET, to centralize the treatment of all unexpected errors. First of all, instead of launching the application directly in a Form, you need first to write a Sub called Main, in a module. Then, set the Startup Object to th…
Having just graduated from college and entered the workforce, I don’t find myself always using the tools and programs I grew accustomed to over the past four years. However, there is one program I continually find myself reverting back to…R.   So …
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

738 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