View Single Post
  #1   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
brazilnut brazilnut is offline
external usenet poster
 
Posts: 1
Default Runtime error '429': ActiveX component can't create object. HELP!!

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.dl
SQLAddin.pd
SQLAddin.tl
Interop.SQLOld.dl

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