Link to home
Start Free TrialLog in
Avatar of Michael Kacos
Michael KacosFlag for United States of America

asked on

ActiveX Component Can't Create Object

I have been reviewing this problem on several web sites (including here) and cannot find a solution that works.  The following code is giving me the error "Runtime Error 429: ActiveX Component Can't Create Object"

Dim ITCCode As ITCClass.ITCCom
Set ITCCode = New ITCClass.ITCCom <---- This is the line that causes the error.

This is a .NET DLL that I have built and works perfectly on Windows 7 and XP using either ACCESS 2010 or 2003.  I am now trying to get it to work on Windows 2008 R2 with Access 2010 which is a 64 bit machine.  The previous environments were 32 bit.  I have rebuilt the DLL on this machine using VS2012 and I set it to build as a 32 bit application.  

I have tried everything from this link (http://support.microsoft.com/kb/319844) and a few others but nothing works.  I have also used:
Dim ITCCode As Object
Set ITCCode = CreateObject("itcclass.itccom")
and received the same results.

I have used Process Monitor (from Sysinternals) but I really do not know what I am looking at however I do not see anything that looks abnormal.

FYI: This DLL works on another box running (64 bit) as a web site using IIS on Windows 2012 BUT it did not work until I set IIS to run the application as 32 bit.
Avatar of Michael Kacos
Michael Kacos
Flag of United States of America image

ASKER

Well Spit.  After I submitted this question I saw
https://www.experts-exchange.com/questions/28018038/32bit-MS-Access-2010-on-64-bit.html.  

I thought I was running Office 32Bit but I am running Office 64Bit.  Uninstalling the current version and installing 32BIT.  Will comment tomorrow.
OK, back to the drawing board.  32BIT Access produces the same error.  I need help.
Avatar of Scott McDaniel (EE MVE )
Did you register the .DLL on the target machine using RegSvr32?

You can try dropping the .DLL in the same folder as your Access database (it's one of the places Access looks for when trying to resolve references).
Not sure if this is the cause, but it may be since it's failing on an older Windows version. If you created the DLL on Windows 7 SP1 or later and use ADO, there's a backward compatibility problem that will cause the DLL to fail.

Here's a blog I wrote on the topic: Microsoft Windows 7 Service Pack 1 Breaks Backward Compatibility with ActiveX Data Objects (ADO)

Hope this helps.
I had some conflicts between projects with the platform selection.  I resolved those with success so now I have a different issue:

I created the setup using the new Installshield  in VS2013 (correction from previous post, I should have said VS2013 not VS2012).  The setup runs fine on the development box but when I try to run it on a different computer, I get a runtime error: "R6030 - CRT not initialized".  I searched for a solution and all I found were "run a registry cleaning program" which never indicated resolving the problem.  I also searched EE and only found one entry that mentioned some software that was installed however we do not have that installed.

I have tested this on a Windows 7 box that has several older version of VS (8,9,10,11) installed and received the error.  Then I went to another Windows 7 box that is a user's system without all of the development stuff loaded and received the same error.

Any thoughts?
ASKER CERTIFIED SOLUTION
Avatar of Scott McDaniel (EE MVE )
Scott McDaniel (EE MVE )
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Closing this and submitting a new question under a different section