开发者

Getting COM object to run in Vista

We expose an interface to our simulation software using a COM/ActiveX object. This worked just fine in XP, but in Vista, we get "Error 429: ActiveX can't create object" when a VB client executes CreateObject().

The COM object has been registered by hand so that the Vista Registry is identical to XP's Registry. I run the VB interface from a DOS window that I started using "Run As Administrator". The client is correctly accessing and reading the Registry as I walk through using the debugger in VB, so it's appa开发者_开发技巧rently not a security setting, as near as I can tell.

I have also loaded the files into VS2005 (the object was originally created in VS6) and rebuilt them to get a later ATL version, but that hasn't helped - we still get the 429 error.

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


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

Also, make sure you have all of the ActiveX object's dependencies and that a kill-bit has not been set for the ActiveX object or its dependencies, if your simulation software happens to use a scripting mechanism to instantiate your ActiveX object.


are all the dependencies installed on vista? it might be that some dll that was standard on XP is not on vista so you will now need to install that.

I'd use procmon to see what files/registry entries its trying to open

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜