打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB之WebService客户端打包经历(初次理解msm)
有个VB做的WebService客户端程序,一直是需要安装SOAP Toolkit 3.0后才能使用,所以客户需要安装两个安装包,一个是我这个程序,一个是SOAP Toolkit 3.0。
昨天终于下决心抽空研究怎么合并打包程序了,经历是曲折的:
1. 从微软官方下载到了soapsdk的再分发包:STK3Redist.EXE
2. 解压后发现里面是几个. msm文件(isapi3_files.msm,soap3_core.msm,winhttp51.msm)
3. 上网搜索 .msm文件的使用方法,结果有人说用installshield可以打开,打开后,看到里面有mssoap30.dll等文件, 可是打开后无法导出,只能合并到别的msm文件或msi文件中,试着合并到自己程序的msi文件中,提示出错,合并失败,并无错误描述。
4. 于是开始研究提取msm文件中的文件,将msm文件导出到一个空的msi文件中,然后试了两个提取msi文件的软件(Universal Extractor和MSI文件提取器0.66)均提取失败。
5. 无意中搜到《打包SOAP 》这篇文章,其中的内容起了决定性作用:
1.将msm文件拷贝到InstallShield安装目录下的Objects文件夹下,例如:Macrovision\IS11.5\Objects
2.在InstallShield下,将相应的msm合并模块从上面的InstallShield objects/Redistributables选中(SOAP SDK Files ,SOAP SDK ISAPI Files和WinHTTP QFE Installer )
原来msm文件是这样用的呀
6. 选中打包以后,安装测试,晕,依然报错:WSDLReader: Loading of the WSDL file failed HRESULT=0x80040154: Class not registered.(没有注册类别)
7. google上搜索这个错误,遇到了这篇文章KBAlertz.com: Error message when you try to access a Web service that is hosted on IIS: HRESULT=0x80040154其中讲到的一种情况与我这种情况一致:
You include the redistributable files from the Microsoft SOAP Toolkit 3.0 in the client program installation package.
三种解决办法中我用的是:
Method 3: Install Microsoft XML Core Services 4.0 Service Pack 2
8.于是我在installshield中选入了msxml4.0(本来也找好了MSXML4.0 SP2的包,结果用msxml4.0就解决了,每用上)
9.打包测试
10.成功!
总结:
首先,对于使用了soapToolkit3.0的客户端程序,必须注册需要的dll文件。
有人说只需要注册几个dll文件(MSSOAP30.DLL,MSSOAPR3.DLL ,WISC30.dll  ),没有精力去追究是不是这样了,而且这几个文件也不再同一个msm文件中,所以我把三个msm文件都加进去。
也有人说手动注册,但是对于安装程序来说,手动不再考虑之列。
然后,msm文件可以合并到别的msm文件或msi文件中。
虽然我没有试验成功,但msm文件的初衷大概就是为了模块化分发的,主要用于微软的msi安装包的制作。
其次,installshiel是可以将msm文件为我所用的
启发来自《打包SOAP》这篇文章
最后,对安装程序的测试一定要在空的操作系统上测试,不然,受到开发环境的影响,有些问题很难发现。
制作期间也遇到了一些别的问题,大多数是需要的文件没有打在包里,就像vb里面的richtext.ocx和msflxgrd.ocx,有些文件是可以在installshield中的Redistributables选取的,在Redistributables里没有提供的就得自己把文件加进去。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
vb.net控件、web service简述
在Delphi中动态调用webservice
用python发布基于soap的webservice(二)
VB6.0怎么调用带参数的DLL?
【转】用VB调用Webservice
VB 6.0用SOAP去访问Webservice
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服