Posted on 2002-04-17
Medium Priority
Last Modified: 2010-08-05

I made a small program that connects to an Access database, and that program was made in VB6 in a machine running Windows XP PRO.
After to use the Package & Deployment Wizard i've tried to install it in a Pc running W98 SE.
During setup an erro occurs (An error occured while registering the file 'C:\program files\commonfiles\system\msado26.tlb) i select 'ignore'
and the setup program is instaled OK.
When running the program i get:' run-time error '430':
'Class does not support Automation or does not suport expected interface'

Can anyone help me?
Question by:JParente
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

Accepted Solution

UncleMatt earned 800 total points
ID: 6947406
you need to install mdac (data access components)

if you use ADO to connect to the access DB then the msado26.tlb is the library for ADO so it wont work.

download mdac 2.61 from microsoft and install it on the client machine and then try it again.

LVL 44

Expert Comment

ID: 6947450
in addition, it is very rarely good idea to develop on a more rescent paltform than the OLDEST platform on which you expect the application to run.  That is, you sould NOT develop on Windows XP and try ti install on Windows 98.  It is very likely that there will be some support files, on the new operating system, which will NOT be compatible with the older Operating System.  You may be lucky in this particualr instance, but the genral advise is to develop on the OLDEST version of the Operating System that you intend to support. Upward compatability is quite common, DOWNWARD compatability is not.
LVL 17

Expert Comment

ID: 6948387
You can develop on XP.  I created a system which became widely distributed.  I had so many problems I re-wrote setup1 in the end.  After a chat with Microsoft Support I was advised as follows:

Install the oldest copy of Windows 95 that you can find  and build your package on that system.  Otherwise
when you build your package some of the Windows componants are included with the package.  If setup.exe
finds that the install has a new version of these Windows componanats the setup will upgrade Windows
and ask for the system to be re-booted.

Once you have your package from an old version of Windows 95 you can copy the critical files and tell the PD Wizard to default to use these files instead of the ones from  windows\system or \winnt\system32.

You can also get these files without having to install Windows 95 on a system as you can hook out the required DLL's required from the CAB files.

This may also help:


In you PDWizard folder there is a file:


It looks like this:

[VB Runtime]

I think you can hard code the source like:

Uses4=c:\old95stuff\AsycFilt.dll ' if these files don't exist on a clean Win 95 install ignore them and use the defaults.

Find an old copy of Windows 95 and get the files user2-6 from the windows 95 cab files. Or the Windows\system from a pc running Win 95.

You can also add to the following section:

; These are files which will be ignored when referenced by a VB project.
[Do Not Redistribute]

There are also some bugs in setup1.exe I will post some fixes if you like:

setup1.exe tips:

1)  Make sure you have autoincrement version set in the project Make section.
2)  Change the version of Major 99.99.9900 becuase of a bug in setup.exe if it finds some other programmer's
version of setup1 in \windows or \winnt your setup1.exe won't be loaded - so at least you version might
look newer.

Also there is a bug where is MS office is installed on a system through a network this makes setup1.exe
screw up.

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 18

Expert Comment

ID: 6948601
UncleMatt has the right answer.  Whomever created the install program for this app probably tried to include the ADO files separately, but technically, you are only supposed to distribute the ADO files via the MDAC_TYP.EXE file that is found in the Redist directory of the package and deployment wizard.  Note, if you've upgraded to a later version of MDAC than what comes with the standard install of VB (2.0 I think), then you need to make sure to replace the version of MDAC_TYP.EXE in this directory with the new version, so that the package and deployment wizard will include the right version of MDAC when it builds the install.

I think that Microsoft does this so that each client that gets the MDAC has to agree to the shrinkwrap license for MDAC.
LVL 17

Expert Comment

ID: 6949015
mdougan you're probably right. I haven't produced any non-server apps that use ADO yet.  I did some timings between ADO & DAO. ADO can perform better than DAO but not often. I use ADO if the back-end server is SQL Server but these types of apps. are not the sort that are widely distributed.
LVL 18

Expert Comment

ID: 6949544
I'm a big fan of DAO, I've built many large applications that continue to run well under it.  However, ADO is growing on me.  It is very big, and I hate the idea of having to distribute 7mb of MDAC just to get my 1.5mb app to run, but, I believe that Microsoft is installing MDAC already on it's later operating systems, so, it might not be necessary to distribute eventually.

As a side note, if I don't really have too much need for the database, I use XML files instead.  I've written a wrapper for the Microsoft Dom object that makes it work something like a recordset, so, you can load an XML document, search it or read through it sequentially.  Saves you from having to distribute any of the database components... just the XML parser.
LVL 17

Expert Comment

ID: 6949598
What size files can Dom handle before you notice speed problems?
LVL 18

Expert Comment

ID: 6950270
Most of the files I've been using lately with XML have been very small.  But on other projects, we'd loaded some good sized recordsets into a DOM and loading was surprisingly fast.  I'd imagine searching through a large sized dom would be pretty slow though.

Author Comment

ID: 6950572
Installing the mdac 2.61 simply solved my problem.
thanks to all the others that contributed to my knowledgment with their greatest coments once i'me new in this vb stuff.

Many thanks to all,

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering 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

If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…
Suggested Courses
Course of the Month10 days, 23 hours left to enroll

770 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