Winform引用mshtml程式集的問題 (轉)

weixin_34344677發表於2010-10-20

最近做了一個聯通號碼查詢的程式,由於是自動查詢,需要遮蔽網頁頁面的js彈出提示框,以避免程式掛起,所以引用了microsoft mshtml.dll程式集,程式釋出後,發現只能在裝有VS執行環境的機器上安裝,而沒有這個環境的機器就會出現缺少microsoft mshtml程式集的錯誤提示,不能安裝,在網上找了些資料,又經人指點終於解決,現把過程記下來與大家分享一下:

因為 Microsoft.mshtmal.dll 這個 dll 是從 system32 資料夾下的 mshtml.tlb(COM 型別庫檔案)中匯出的,因此我們只需要用 VS2008 自帶的 TlbImp.exe COM 型別庫匯出工具將這個 tlb 檔案再導一遍就可以了。我使用下面的指令碼進行匯出:

    tlbimp mshtml.tlb /out:mshtml.dll

    最後得到一個 mshtml.dll 程式集檔案,將我們專案中引用的 Microsoft.mshtmal.dll 替換為 mshtml.dll,再打包時這個 dll 就可以被新增到安裝專案中了。

具體方法:“開始”|"程式"|“VS 2008”|"VS tools"|"VS命令提示"輸入:tlbimp mshtml.tlb /out:C:\WINDOWS\system32\mshtml.dll 等待執行完成後在安裝VS的盤區(我的安在了D)找到:D:\Program Files\Microsoft Visual Studio 9.0\VC\mshtml.dll 將其替換原有的程式引用集Microsoft.mshtmal.dll 就行了

 

 

//注意:每次重灌系統這個mshtml.dll都要用上述方法進行重新生成,這樣才能夠保證部署到客戶機上不會出問題

相關文章