1. 程式人生 > >Winform 部署mshtml程式集出錯的一個解決方案

Winform 部署mshtml程式集出錯的一個解決方案

在部署一個vs2008環境下的Winform應用程式時,因為引用一個Html編輯器,而用到了Microsoft mshtml.dll程式集,

版本為7.0.3300.0,對應檔案在

E:/Vs2008的安裝目錄/Visual Studio Tools for Office/PIA/Office11/Microsoft.mshtml.dll

E:/Vs2008 的安裝目錄/Visual Studio Tools for Office/PIA/Office12/Microsoft.mshtml.dll

添 加專案引用時可以在GAC程式集裡選擇,因為在安裝Visual Studio Tools for Office時已經對該元件進行註冊,並部署到GAC裡。

程式執行在本機無錯誤。

部署到客戶端,注:客戶端沒有 vs200X開發環境。,結果執行出錯,提示:

System.Reflection.TargetInvocationException: 呼叫的目標發生了異常。 ---> System.IO.FileNotFoundException: 未能載入檔案或程式集“Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一個依賴項。系統找不到指定的檔案。

預設引用屬性改為:

複製本地=True

特定版本=false;

問題依然出現。直接複製dll到客戶端依然出錯。

後來看到一篇文章,說是重新生成一個mshtml.dll的版 本,可以部署。

大 意是:

因為 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 就可以被新增到安裝專案中了。

試了下,沒有成功,後來想了一下,應該不需要這樣,因為本機可以執行,說明dll是可用的,只是在部署到客戶端時無法識別該程式集而已。

於 是在重新新增新的引用時,觀察了一下引用介面,發現有三個mshtml,而不是兩個。

於是嘗試新增第三個,

邀月工作室  

並將預設引用屬性改為:

複製本地=True

特定版本=false;

 

在安裝部署程式中新增主程式 下/bin/Microsoft.mshtml.dll,編譯時已複製到bin下。

部署到客戶端,OK!
這個檔案比較大, 有7.63M,安裝部署程式壓縮後也有1.7M。所以也有一種輕巧的替代方案,只有100多K,

請參看,

邀月注:本文版權由邀月和CSDN共同所有,轉載請註明出處。 助人等於自助!   [email protected]

相關推薦

Winform部署mshtml 程式出錯一個解決方案 開發的時候沒有問題 在客戶部署的時候出的問題

部署一個vs2008環境下的Winform應用程式時,因為引用一個Html編輯器,而用到了Microsoft mshtml.dll程式集, 版本為7.0.3300.0,對應檔案在 E:\Vs2008的安裝目錄\Visual Studio Tools for Offic

Winform 部署mshtml程式出錯一個解決方案

在部署一個vs2008環境下的Winform應用程式時,因為引用一個Html編輯器,而用到了Microsoft mshtml.dll程式集, 版本為7.0.3300.0,對應檔案在 E:/Vs2008的安裝目錄/Visual Studio Tools for Office

Keras載入mnist數據出錯問題解決方案

內容 ret href 斜杠 cal call abs anaconda 目錄 找到本地keras目錄下的mnist.py文件 通常在這個目錄下。 ..\Anaconda3\Lib\site-packages\keras\datasets 下載mnist.npz文件到本地

執行儲存過程時報“在嘗試載入程式 ID 65645 時 Microsoft .NET Framework 出錯”,解決方案

新庫是直接複製的模板庫 執行儲存過程時報如下錯 訊息 10314,級別 16,狀態 11,過程sp_Sync_CmsArticleToSearchs,第 30 行在嘗試載入程式集 ID 65645 時 Microsoft .NET Framework 出錯。伺服器可能資源

Global symbol "" requires explicit package name at ""的perl程式編譯出錯解決辦法

最近編寫一個perl指令碼時候,編譯出現了Global symbol "" requires explicit package name at ""的錯誤,後發現是由於使用use strict;造成,那麼問題解決方法應該有兩個: 一,使用use strict; ,修改其他程式碼,如下:

重溫CLR(二)生成、部署以及程式

  將型別生成到模組中 class Program { static void Main(string[] args) { Console.WriteLine("Hi"); } }     &

給win7裝系統提示“安裝程式無法建立新的系統分割槽,也無法定位現有系統分割槽”的一個解決方案

我給一臺XP換WIN7,按照程式進PE,載入映象,安裝之後提示“安裝程式無法建立新的系統分割槽,也無法定位現有系統分割槽”。解決方案:開啟DiskGenius(或者是磁碟管理)看下在裝系統的磁碟中是否是

tensorflow匯入mnist資料出錯解決辦法

from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_d

Hibernate查詢,返回new物件(注意這個新定義的類要有建構函式),使用sql帶條件分頁查詢並且把結果顯示到一個物件的裡面的解決方案

IIndexDaopackage com.ucap.netcheck.dao;import com.ucap.netcheck.combination.beans.IndexCombinationBean;import com.ucap.netcheck.common.P

Ultimus BPM - ERP成整合解決方案

BPM軟件 ERP集成 Ultimus BPM - ERP集成整合解決方案 整合方案簡介 ERP+Ultimus最好的“ERP+BPM”解決方案 在眾多的業務和技術的驅動下,兩個不同種類的產品結合在一起,提供給

實戰案例:構建docker容器群 (解決方案一:使用自定義網橋連接跨主機容器)

docker一、實驗環境虛擬機a兩塊網卡 eth0 eth1 (IP地址static或者dhcp)虛擬機b兩塊網卡 eth0 eth1 (IP地址static或者dhcp)二、在兩臺虛擬機上配置網橋虛擬機a操作:apt-get install bridge-utilsvim /etc/ne

針對windowsserver 創建iis站點訪問出錯解決方案(HTTP 錯誤 500.19 - Internal Server Error)

intern strong 原因 對話 資源 由於 代碼 技術分享 spa 錯誤如下: 服務器錯誤 Internet信息服務 7.0 錯誤摘要HTTP 錯誤 500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關配置數

記錄Sqlserver2012附加Sqlserver2008的數據庫出錯解決方案

sql腳本 數據 serve users alt 技術分享 腳本 學習筆記 mage 在網上看了一些資料,有的說【低版本不能附加到高版本上】、有的說【高版本不能附加到低版本上】、有的說【要生成sql腳本才能解決這個問題】等等,雖然這些可能是導致附加不上的原因,但卻不是我想要

部署日記」Android Studio亂碼解決方案

安裝 roi 技術分享 set fff setting 電腦 span conf 弄了一臺新電腦,第一件事肯定是弄好打造臺啦 於是VS、AS、CRD、NSIS、Adobe全家桶全安裝完畢, 問題來了,在打開Android Studio時,出現亂碼,比如 這樣的: 這樣的:

mysql存表情出錯解決方案(類似xF0x9Fx98x86xF0x9F)

cau use 結果 column 之前 involve 成功 tail _proto_ 之前以為mysql設置utf-8以及昵稱decode後就萬事大吉了,結果最近才發現對於4字節的表情會報錯。 報錯信息如下: data: nullmessage: " ### Err

oracle12C出錯解決方案

ces sha 技術分享 ext 12c oracle color 技術 process 1、在圖形化界面操作,切換oracle用戶,執行安裝出錯2、解決方案3、重新執行安裝oracle12C出錯和解決方案

mysql字符集設定(web程式插入資料庫亂碼解決方案

mysql資料庫字符集 問題:最近在做專案時,打算在本地搭建專案執行的全部環境,當環境搭建好之後,在進行測試時,突然發現程式向資料庫插入資料時發生了亂碼。 最先想到的解決方案: 檢查eclipse的字符集(頁面字符集、code字符集等) 檢查tomcat的URI

win2008 SP2下USB滑鼠不能使用的一個解決方案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Windows Server 2008 R2 安裝 VS2005 後 發現windows 應用程式 模板沒有了 解決方案

專案模板丟失現象:新建專案時以前的模板找不到了。 專案模板丟失解決辦法:找到 C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/ProjectTemplates目錄(如果你的vs2005安裝在其他盤,前面的C就換成你安裝時的碟符),將

64位word2013 Excel 2013提示記憶體不足,PowerPoint 2013無法開啟檔案的一個解決方案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!