Run-time error 430 Class does not support Automation or does not support expected interface

Posted on 2006-06-08
Last Modified: 2009-12-16
Please help.

I am using windows 2000 and vb 6.  I made a .exe for my VB project using VB's Package and Development wizard. When i install it on other machines that have Window 2000 it works fine.  I get a run-time error (Run-time error "430": Class does not support Automation or does not support expected interface.
 ) when i run it on machines with XP.  

I have MDAC 2.8 on my machine (win 2000) and XP should have MDAC 2.8 (is that correct?) i dont think that MDAC is my problem.

Please help, I have some critical work to be done.
Thank you,
Question by:GoldenJag
    LVL 12

    Expert Comment

    I would suggest using Visual Studio Installer 1.1 - it creates MSI packages and uses the Windows Installer engine.
    It's much better than the VB's Package and Deployment and it is free.

    You can download it from
    LVL 30

    Accepted Solution

    The most common cause of this is that the version of a dll that you are using on the XP machine differs from the one on your development machine.

    This could be MDAC - XP does not have MDAC 2.8 by default (only SP2 or later, I think) , but 2.7 (and even then, not even 2.7 SP1!!). Alternatively, there is a component on the XP box that one of the dll's that you reference has a reference to, and this has a different interface (and hasn't been compiled for Binary compatability). Do you have error handling in your application that will return class/function/line names/numbers? If so, this is where the error is occurring - post that code. If not, I'm afraid you may have to try and run this interactively on the XP boxor another test pc - this may not help though, as the installation of visual studio may install the required components.

    Check your project references, and ensure that the same components (and versions) or all referenced objects are installed and registered on the server. What happens when the interface (i.e. the PUBLIC functions, methods and properties) changes on a COM component or library: -
    1. If it has been compiled to maintain binary compatability with the last version, and the methods that you reference remain unchanged, you should have no problem.
    2. If the interface has changed, and binary compatability has not been maintained between builds, you will get this error.

    Noting point 2, if the target machine has a previous version of the COM components, there is an extremely high chance that it is with a previous interface, and you will get this error. This is commonly known as dll hell.

    jkaios's suggestion could help you solve the problem, but you need to understand the root cause. VS Installers attempt to 'gift wrap' your installations, but they are not foolproof, and this kind of error can still occur.


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Free Trending Threat Insights Every Day

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
    Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
    Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
    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…

    794 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now