日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 希望蠟炬 2013-01-22

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

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

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

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

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

4. 于是開始研究提取msm文件中的文件,將msm文件導(dǎo)出到一個空的msi文件中,然后試了兩個提取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. 選中打包以后,安裝測試,暈,依然報錯:

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

9.打包測試

10.成功!


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

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

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

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多