Multiple versions of same DLL  
Author Message
databaseben





PostPosted: Mon Dec 12 11:13:35 CST 2005 Top

Windows XP Support >> Multiple versions of same DLL 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

Windows XP1307  
 
 
David





PostPosted: Mon Dec 12 11:13:35 CST 2005 Top

Windows XP Support >> Multiple versions of same DLL From: "Mike Lewis" <EMail@HideDomain.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.

--
Dave
http://www.claymania.com/removal-trojan-adware.html
http://www.ik-cs.com/got-a-virus.htm


 
 
GTS





PostPosted: Mon Dec 12 14:36:02 CST 2005 Top

Windows XP Support >> Multiple versions of same DLL 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
--

"Mike Lewis" <EMail@HideDomain.com> wrote in message
news:%23fGaxRz$EMail@HideDomain.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
>