Solved

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

Posted on 2007-03-25
5
455 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

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

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

Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines. The key components of Window…
Part One of the two-part Q&A series with MalwareTech.
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

636 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