O
owen
First, a little background: I have developed an ActiveX control that I want
various IE clients to access using their web browsers. These clients will
have various operating systems (Win98, XP, 2000, NT, etc) but always the
browser would be IE5.0 upward. My ActiveX control was developed using VB6
and calls to MSSOAP30.DLL (Version 3.00.1325.0). Put simply, I use that
particular DLL to do stuff with XML in my VB6 code. And it works fine, at
least on my development PC.
A client PC has Office 2003 installed, which just happens to include it's
own version of MSSOAP30.DLL. (Version 3.00.1906.0). Oh dear. This is a
different version to that on my development PC. Doesn't bode well...
Initially, this caused the deployment to fail miserably. (It failed to
register and/or install MSSOAP30.DLL on the client, because it already
existed in a "MS Office" folder. It resulted in the "red X" being displayed
in place of the control). So, as an experiment, I excluded MSSOAP30.DLL
from the distribution package, and sure enough, this time it deployed and
displayed on the client. BUT, it didn't work. There were runtime errors,
because the code was developed with a different version of MSSOAP30.DLL to
that on the client PC.
HOW am I supposed to deploy my ActiveX control in a way that works
regardless of the user's existing DLL's? There is no way I can force them
to use the same version of MSSOAP30.DLL that I developed with. But
likewise, I cannot change my VB project to use any particular version of the
DLL, because another end-user may not have that version on their PC. And I
cannot simply exclude MSSOAP30.DLL from the build, because that stops it
working on anybody's PC who doesnt have that DLL. I just want my code to
work on ALL end-user's PCs - but I cannot either overwrite their DLLs nor
use their existing DLLs.
So WHAT am I supposed to do?????
Please help me.
Owen
PS. replies cc'd by email VERY welcome.
(e-mail address removed)
various IE clients to access using their web browsers. These clients will
have various operating systems (Win98, XP, 2000, NT, etc) but always the
browser would be IE5.0 upward. My ActiveX control was developed using VB6
and calls to MSSOAP30.DLL (Version 3.00.1325.0). Put simply, I use that
particular DLL to do stuff with XML in my VB6 code. And it works fine, at
least on my development PC.
A client PC has Office 2003 installed, which just happens to include it's
own version of MSSOAP30.DLL. (Version 3.00.1906.0). Oh dear. This is a
different version to that on my development PC. Doesn't bode well...
Initially, this caused the deployment to fail miserably. (It failed to
register and/or install MSSOAP30.DLL on the client, because it already
existed in a "MS Office" folder. It resulted in the "red X" being displayed
in place of the control). So, as an experiment, I excluded MSSOAP30.DLL
from the distribution package, and sure enough, this time it deployed and
displayed on the client. BUT, it didn't work. There were runtime errors,
because the code was developed with a different version of MSSOAP30.DLL to
that on the client PC.
HOW am I supposed to deploy my ActiveX control in a way that works
regardless of the user's existing DLL's? There is no way I can force them
to use the same version of MSSOAP30.DLL that I developed with. But
likewise, I cannot change my VB project to use any particular version of the
DLL, because another end-user may not have that version on their PC. And I
cannot simply exclude MSSOAP30.DLL from the build, because that stops it
working on anybody's PC who doesnt have that DLL. I just want my code to
work on ALL end-user's PCs - but I cannot either overwrite their DLLs nor
use their existing DLLs.
So WHAT am I supposed to do?????
Please help me.
Owen
PS. replies cc'd by email VERY welcome.
(e-mail address removed)