小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VB之WebService客戶端打包經(jīng)歷(初次理解msm)

 希望蠟炬 2013-01-22

有個(gè)VB做的WebService客戶端程序,一直是需要安裝SOAP Toolkit 3.0后才能使用,所以客戶需要安裝兩個(gè)安裝包,一個(gè)是我這個(gè)程序,一個(gè)是SOAP Toolkit 3.0。

昨天終于下決心抽空研究怎么合并打包程序了,經(jīng)歷是曲折的:

1. 從微軟官方下載到了soapsdk的再分發(fā)包:STK3Redist.EXE

2. 解壓后發(fā)現(xiàn)里面是幾個(gè). msm文件(isapi3_files.msm,soap3_core.msm,winhttp51.msm)

3. 上網(wǎng)搜索 .msm文件的使用方法,結(jié)果有人說用installshield可以打開,打開后,看到里面有mssoap30.dll等文件, 可是打開后無法導(dǎo)出,只能合并到別的msm文件或msi文件中,試著合并到自己程序的msi文件中,提示出錯(cuò),合并失敗,并無錯(cuò)誤描述。

4. 于是開始研究提取msm文件中的文件,將msm文件導(dǎo)出到一個(gè)空的msi文件中,然后試了兩個(gè)提取msi文件的軟件(Universal Extractor和MSI文件提取器0.66)均提取失敗。

5. 無意中搜到《打包SOAP 》這篇文章,其中的內(nèi)容起了決定性作用:

1.將msm文件拷貝到InstallShield安裝目錄下的Objects文件夾下,例如:Macrovision\IS11.5\Objects 

2.在InstallShield下,將相應(yīng)的msm合并模塊從上面的InstallShield objects/Redistributables選中(SOAP SDK Files ,SOAP SDK ISAPI Files和WinHTTP QFE Installer ) 

原來msm文件是這樣用的呀

6. 選中打包以后,安裝測(cè)試,暈,依然報(bào)錯(cuò):

WSDLReader: Loading of the WSDL file failed HRESULT=0x80040154: Class not registered.(沒有注冊(cè)類別)


7. google上搜索這個(gè)錯(cuò)誤,遇到了這篇文章

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的包,結(jié)果用msxml4.0就解決了,每用上)

9.打包測(cè)試

10.成功!


總結(jié):
首先,對(duì)于使用了soapToolkit3.0的客戶端程序,必須注冊(cè)需要的dll文件。
有人說只需要注冊(cè)幾個(gè)dll文件(MSSOAP30.DLL,MSSOAPR3.DLL ,WISC30.dll  ),沒有精力去追究是不是這樣了,而且這幾個(gè)文件也不再同一個(gè)msm文件中,所以我把三個(gè)msm文件都加進(jìn)去。
也有人說手動(dòng)注冊(cè),但是對(duì)于安裝程序來說,手動(dòng)不再考慮之列。

然后,msm文件可以合并到別的msm文件或msi文件中。
雖然我沒有試驗(yàn)成功,但msm文件的初衷大概就是為了模塊化分發(fā)的,主要用于微軟的msi安裝包的制作。

其次,installshiel是可以將msm文件為我所用的
啟發(fā)來自《打包SOAP》這篇文章

最后,對(duì)安裝程序的測(cè)試一定要在空的操作系統(tǒng)上測(cè)試,不然,受到開發(fā)環(huán)境的影響,有些問題很難發(fā)現(xiàn)。
制作期間也遇到了一些別的問題,大多數(shù)是需要的文件沒有打在包里,就像vb里面的richtext.ocx和msflxgrd.ocx,有些文件是可以在installshield中的Redistributables選取的,在Redistributables里沒有提供的就得自己把文件加進(jìn)去。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多