Getting a COM Object to Run in Vista

We present an interface to our simulation software using a COM / ActiveX object. In XP this worked very well, but in Vista we get "Error 429: ActiveX cannot create object" when the VB client executes CreateObject ().

The COM object was registered manually, so the Vista registry is identical to the XP registry. I launch the VB interface from a DOS window in which I started using "Run as administrator". The client is accessing and reading the registry correctly when I view it with the debugger in VB, so it appears to be not a security setting as far as I can tell.

I also uploaded the files to VS2005 (the object was originally created in VS6) and rebuilt them to get a more recent ATL version, but that didn't help - we still get the 429 error.

Is this a symptom of UAC issues, or should I be looking for something deeper?

+2


a source to share


2 answers


- all dependencies installed on Vista? it is possible that some dll standard for XP is not in Vista, so now you need to install it.



I would use procmon to see what files / registry entries it is trying to open

+1


a source


First, did you run regsvr32.exe or did you just hack the registry? If the latter, try running regsvr32.exe.



Also, make sure you have all the dependencies of the ActiveX object and that the kill-bit has not been set for the ActiveX object or its dependencies if your modeling software uses a scripting engine to instantiate your ActiveX object.

+1


a source







All Articles