View Single Post
  #2   Report Post  
Posted to microsoft.public.win32.programmer.ole,microsoft.public.access.activexcontrol,microsoft.public.dotnet.general,microsoft.public.excel.interopoledde,microsoft.public.excel.programming
Alexander Nickolov Alexander Nickolov is offline
external usenet poster
 
Posts: 1
Default Runtime error '429': ActiveX component can't create object. HELP!!

Try running depends.exe on your DLLs to check if you need
to redistribute other DLLs as well.

--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email:
MVP VC FAQ:
http://www.mvps.org/vcfaq
=====================================

"brazilnut" wrote in message ...
Hi. Let me explain the setup. I am using Visual Studio .NET to develop a sort of add-in (COM class) for Excel called SQLAddin. It basically queries a SQL server and pulls in data. Now within my Visual Studio Project, the SQLAddin references a compiled COM object built with Visual Studio 6.0 called SQLOld.dll. When I complie the project I get the following files in my \bin directory:
SQLAddin.dll
SQLAddin.pdb
SQLAddin.tlb
Interop.SQLOld.dll

Within Visual Studio .NET I have set the project properties to "Register for COM Interop". The reason why I am mentioning the set up for the development for this project, is that this add-in works great on my computer. The VBA in Excel that accesses the object calls the functions correctly and correctly assigns the return values. BUT when I try to setup and run this Addin on another computer, it does not work. I get the error: Runtime error '429': ActiveX component can't create object. Let me explain my installation procedures for the other computer:

To note, the computers I am installing the addin on all have the .NET Framework installed.
First I copy over all the files in the \bin directory (as mentioned above) PLUS the actual SQLOld.dll. I also include the Excel file with the references and VBA code complied.

So, if I go into Excel run the addin. I get the error. So then I think that perhaps the SQLOld.dll needs to be registered. So I run regsvr32 on the SQLOld.dll. The register succeeds, but when I run the addin again. I get the same error.

So why does the addin work on my computer but not anyones else's? My hypothesis is that Visual Studio .NET is doing something behind the scenes when I compile. And I am not doing that on the other machine.

Any ideas??

Thanks for you help