Consume Web Service from Access- Redistribute SOAP library fail

  • Thread starter Danny J. Lesandrini
  • Start date
D

Danny J. Lesandrini

Problem: regsvr32 fails for the correct version of MSSoap30.dll

Background:
I posted a few weeks ago about how I'd written code to consume a web
service from Microsoft Access using the Soap Toolkit. I had written up
the process as an article for DBJ and it's out there now ...
http://www.databasejournal.com/features/msaccess/article.php/3567511

I concluded the article (and the post) with the suggestion that the DLLs
for this process are redistributable, but are installed with Office 2003
and/or when you install the Soap Toolkit. However, I'm at the point where
I'd like to build a scirpt to (surgically) deploy the required DLLs on clients
using Office XP without installing the entire Soap Toolkit on each machine.

What I did:
I hit a problem registering the primary DLL. Below is a laundry list of files
that need to exist and those that require registration. I gathered them
together from a machine where the code worked and registered them all.
While the Reference in Access was found, the DLL seemed to be missing
some methods/constants that were required. A quick search of my computer
revealed a second Mssoap30.dll file with a newer version. I'm guessing
the newer version is the one I need, but when I tried RegSvr32, it failed.

Mssoap30.dll (ver 3.0.1325.0) <registered but doesn't work>
Mssoap30.dll (ver 3.0.1906.0) <registration failed!>

There was a thread back in January on this newsgroup by Sharat Koya
that seemed to lean in this direction. If Sharat is reading, did you ever
find a solution. If anyone else knows why a DLL would fail to register
in general, that may be helpful too. Perhaps it's a dependency. Does it
ever matter what order DLLs are registered?

Thanks
--
Danny J. Lesandrini
(e-mail address removed)
http://amazecreations.com/datafast/


Mssoap30.dll
C:\Program Files\Common Files\MSSoap\Binaries\
regsvr32 "C:\Program Files\Common Files\MSSoap\Binaries\Mssoap30.dll"
Platforms = ALL

WHSC30.dll
C:\Program Files\Common Files\MSSoap\Binaries
regsvr32 "C:\Program Files\Common Files\MSSoap\Binaries\WHSC30.dll"
Platforms = NT4, W2K, XP

WISC30.dll
C:\Program Files\Common Files\MSSoap\Binaries
regsvr32 "C:\Program Files\Common Files\MSSoap\Binaries\WISC30.dll"
Platforms = ALL

MSSOAPR3.dll
c:\Program Files\Common Files\MSSoap\Binaries\Resources\1033
no need to register
Platforms = ALL
 
R

Ron Hinds

There *are* dependencies to virtually all DLL's. But if that was the problem
you should have seen an error to the effect of "Load Library failed". Do you
have Visual Studio installed? If so, it comes with a tool called Dependency
Walker which will tell you all of the DLL's any particular file is dependent
on.
 
D

Danny J. Lesandrini

Thanks for the input, I think you're correct.

The fail message was ...
LoadLibrary(file path) failed - A dynamic link library routine failed.

Thanks for the reference to Dependency Walker ... I was hoping for some tool
to peek into the DLL for dependencies. I haven't found the tool yet. Could you
give me more info about where to find it? Which version of VS and where to look
for it? Thanks
--

Danny J. Lesandrini
(e-mail address removed)
http://amazecreations.com/datafast/



...
 
R

Ron Hinds

I have VS 6.0 installed and it is in the Tools folder. If memory serves I
think it is also installed with the Windows SDK, which I believe is a free
download from MS.
 

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