Multiple versions of same DLL

M

Mike Lewis

I am trying to use third party controls in a VB application but they require
older versions of OLEAUT32 and OLEPRO32. I was able to copy the older
versions into the win/sys32 directory but after restarting my machine the
dlls reverted back to their newer counterparts. When I run the VB app, I
get a 429 ActiveX error.

Can I have both versions of the OLE* dlls residing on my machine? If so,
how do I tell VB (design and run time) to use the older versions? Thanks
 
D

David H. Lipman

From: "Mike Lewis" <[email protected]_spam.com>

| I am trying to use third party controls in a VB application but they require
| older versions of OLEAUT32 and OLEPRO32. I was able to copy the older
| versions into the win/sys32 directory but after restarting my machine the
| dlls reverted back to their newer counterparts. When I run the VB app, I
| get a 429 ActiveX error.
|
| Can I have both versions of the OLE* dlls residing on my machine? If so,
| how do I tell VB (design and run time) to use the older versions? Thanks
|

Put the older versions of the DLLs in the SAME folder as the VB application.

This way when the VB app. makes its calls, it will find them locally and wont's have to go
througth the path to find the needed DLLs and thus the newer versions.

You should have that VB app. updated to use the latest OLE DLLs.
Having mixed/matched versions of DLLs can cause ripple effects with other applications or
processes.
 
G

GTS

Windows XP includes a feature called Side by Side versioning to accommodate
this situation. The way to address this in VB depends on whether you are
talking about VB 6 or VB.NET. Under no circumstances should you try to copy
such DLLs into ...sys32. XP fortunately protects against that classic
cause of "DLL HELL" such actions created in earlier versions of Windows.
Copying those OLE DLLs into the program directory will not be sufficient as
you have to address registration of the VB controls as well.

I'm guessing you're using VB 6. If so, see these articles. If you are
using VB.NET, look at help on assemblies. If you need more information it
would be best to ask in the VB groups.

FIX: Side-by-side COM DLL module manifest for Visual Basic 6.0 ActiveX
Controls is overridden by the registry in Windows XP
http://support.microsoft.com/default.aspx?scid=kb;en-us;843524

FIX: Windows side-by-side execution is not supported for Visual Basic 6.0
ActiveX controls
http://support.microsoft.com/default.aspx?scid=kb;en-us;828629
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top