乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      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é)果有人說(shuō)用installshield可以打開,打開后,看到里面有mssoap30.dll等文件, 可是打開后無(wú)法導(dǎo)出,只能合并到別的msm文件或msi文件中,試著合并到自己程序的msi文件中,提示出錯(cuò),合并失敗,并無(wú)錯(cuò)誤描述。

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

      5. 無(wú)意中搜到《打包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 ) 

      原來(lái)msm文件是這樣用的呀

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

      WSDLReader: Loading of the WSDL file failed HRESULT=0x80040154: Class not registered.(沒(méi)有注冊(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(本來(lái)也找好了MSXML4.0 SP2的包,結(jié)果用msxml4.0就解決了,每用上)

      9.打包測(cè)試

      10.成功!


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

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

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

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

        類似文章 更多