ActiveX component can't create object.  429

Posted on 2004-08-25
Last Modified: 2013-12-25
I have a VB 6 program that I wrote at the office.  I backed it up and put it on my pc at home.  It works fine at the office but I am getting the error "ActiveX component can't create object 429"  Can anyone help???
Question by:joycampbell
  • 4
  • 3
  • 2
  • +4
LVL 39

Expert Comment

ID: 11899530
may be you were using custom controls in your program. in that case you need to prepare a setup package(installer) and install it on your home pc.

you can use package and deployment wizard that comes with VB to prepare setup package.

Author Comment

ID: 11900279
I have VB6 at home also.  I am working with the source code on my computer at home also.  I thought when I backed up the code at work, that it would have the same code at home???  

Expert Comment

ID: 11900485
Are you using the same OS in both place. OR
Do you have any third pary components or custom made components in you project.

To know the Component that is missing in you home....

Open the VB project and access the VB Reference dialog box, there you  can see the list of references added into the project. If some ref. missing in your home, you can visually see the "MISSING:.............." in that dialog.

IF some dll missing in your m/c register that dll (you may need to copy from office or you may need to purchase that)


Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.


Expert Comment

ID: 11902180

your error is a runtime error, what means that it has nothing to doe with your programs references. If any references would be missing then your code wouldnt compile.

vb extensively relies on COM. when you compile your program all class-ids from all registered COM classes that your programm uses are added to your executable. if any of the class-ids are missing in the registery (i.e. probably a different version of a component or similar) when your program tries to create them, then you get the "ActiveX Component cant create object".

alternatively a comoponent/class that you use relies on some third party COM classes that are missing. then you'll get the same error (at least if they are written in vb)


Expert Comment

ID: 11908213
A compiled/uncompiled program that uses references or components needs to have those same references and components installed on every machine that runs the program.

Should get you going in most cases:

Use PDW to get all of the files you need to install for your program to run.
When you are at work open the project, Select Add In Manager from add ins, Click on package and Deployment wizard, put a check beside loaded/unloaded and load on startup, click on ok.  Then select Package and Deployment Wizard from the Add Ins menu and follow the wizard prompts (I don't recommend using PDW for a app you need to distribute - but it is ok at giving you a list of dependencies for your program) - you can either run the package it creates on your home PC (but PDW is buggy) or you can open the setup.lst file that it creates and the files it places under [Setup1 Files] section are the files your program needs to have on a PC in order to run correctly.

If you ever end up needing to distribute your program to someone else then I would suggest INNO setup (there are many articles on the sight which explain how to setup a VB program):


Expert Comment

ID: 11910329
Search for all the createobject and getobject statements in your code and make sure that the object being created is installed on your system

Given that its a run time error, set the tools, options, third tab, break on all errors to true, and then run it and it will break on the line thats failing. Send us that line and we can tell you what it is..

Author Comment

ID: 11917652
This is the line with the error

                       Set m_env = rdoEnvironments(0)

It is located in a class module
This is how i have defined the object

             Option Explicit
                  ' Database
                  Private m_env As rdoEnvironment

                  ' Connection
                  Private m_con As rdoConnection

Author Comment

ID: 11917906
I am on a Dell machine at work and at home running XP Pro operating system, Access 2000 and programing with VB6.

Assisted Solution

plq earned 250 total points
ID: 11918138
Hmmm never used rdoenvironment so guessing here but maybe ...

Private m_env As New rdoEnvironment

Or maybe you need to download nad install rdo somehow. Sorry I went straight from DAO to ADO and missed out RDO completely !!!

My feeling is that rdoEnvironment must be installed for it to compile, in which case there's just no rdoEnvironment object instantiated, so look at the source of the rdoEnvironment and ask yourself what could be wrong in terms of design time properties, startup differences, different paths, registry settings,, .....

Author Comment

ID: 11926600
I think my problem is Access and VB. I am running Access 2000 at work and Access XP at home.  I have tried loading all updates to both VB and Access on my home PC but I must be missing something.  I have also tried converting my ACCESS FILE>  This is really getting to me.


Accepted Solution

TomBig earned 250 total points
ID: 11929247

i think the most the most reasonable guess is that you got two different versions of microssofts rdo library. this is implemented (W2K, SP3) in the file \System32\Winnt\msrdo20.dll. check its version on both of your computers.

a little background: if you compile your code against one version of rdo on the computer at work, vb adds all the class-ids of all the classes your code references to the executable/dll. when you try to run your code on your home machine and try to create any object of a class from rdo, your programm passes that classes classid to COM, which tries to identify the server for the object via the registry. now if on your home computer there is a different version of rdo, the class id cannot be found and you receive the ominous error 429..

resolution: compile your code against the same version of rdo that you intend to use on your computer at home.


Expert Comment

ID: 12953638
Hi guys,
am getting this king of error as well when importing from DBASE IV to access via VB 6... here are my codes:
dim appaccess as access.application
set appaccess=new access.application

appaccess.doCmd.TransferDatabase acImport...

It works on my machine (XP) with access 2000. but does not work from the Client-PC.
"ActiveX component can't create object 429"

Any body can help?


Expert Comment

ID: 12953684
you need to ask a new question

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
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…
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…

776 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