How to resolve vb6 dll error 800a01ad in c # application
I have a dll that I created from a VB6 project that I am currently using in a C # project. This worked before, but now when I try to go back to the C # project to fix the error, the program gets a COMException message that roughly translates:
Failed to instantiate COM component with CLSID {085E3494-9F78-47D5-B0E6-FA460FD3CBED} from IClassFactory due to the following error: 800a01ad.
So, I'm trying to create a new empty C # project with one line in the main function:
OurNamespace.OurClass foo = new OurNamespace.OurClass();
Which fails with the same error.
I registered the dll, but that didn't change the outcome of the problem.
The problem only occurs on the machine I am on, but I am still interested in understanding the problem so that I know how to fix it if it occurs on the client computer.
a source to share
This means VB6 Runtime Error 429, "ActiveX cannot create object". It is not your C # code that is failing, it is a VB6 code issue. You can only get something by debugging VB6 code. You will need a VB6 IDE, load the library project, set your C # program as the initial program, and set a breakpoint in the Class_Initialize routine of the class you are trying to create in your C # code.
Assuming you no longer have the tools, error 429 has many potential causes. The most common problem is registration, which is solved by running Regsvr32.exe in the DLL used by the VB6 code.
a source to share