Posted on 2002-04-17
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

Accepted Solution

UncleMatt earned 200 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:;EN-US;q178354

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.

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone 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

Suggested Solutions

Title # Comments Views Activity
MS Access - Capture pressed key onclick 4 41
Excel - Save a copy of work book 13 88
Excel VBA, find a string in a column, update a cell 7 86
Problem to With line 4 63
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

839 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