在生成安裝和部署項目時出現“Unrecoverable Build Error”(不可恢復的生成錯誤)錯誤信息
在生成安裝和部署項目時出現“Unrecoverable Build Error”(不可恢復的生成錯誤)錯誤信息
使用環境:Win2003Server+vs2003
今天在生成安裝文件時,遇到“不可恢復的生成錯誤”。
以前正常,只是這次添加了對Com組件的引用,
using ADOX;
//建立Access文件
ADOX.CatalogClass cat=new ADOX.CatalogClass();
cat.Create(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+file+";");
cat=null; 上面為增加的引用Com的代碼,增加這段代碼后,出現了問題。
開始認為是增加了對Com的引用造成的,但是查了資料,說
此問題一般是由C:/Program Files/Common Files/Microsoft Shared/MSI Tools/mergemod.dll文件版本低造成的,只需下載新的版本,在注冊即可。
下載了新的mergemod.dll,注冊后,問題解決。
參考:
微軟的解釋:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;329214
阿瑞的解釋:http://arui.cnblogs.com/archive/2005/07/29/202934.html
附:
微軟解釋:
癥狀
當您試圖生成在 Visual Studio .NET 中創建的安裝和部署項目時,您可能會收到以下錯誤信息:
Unrecoverable build error
原因
通常,發生此問題的原因有以下幾種: ? 在 Visual Studio .NET 開發環境中,打開了多個窗口。
? 在您的 Visual Studio .NET 項目中,有多個文件夾同名。
? 注冊表中的一些接口注冊丟失。
? 在注冊表中,Mergemod.dll 沒有注冊,或者注冊了不完整的 Mergemod.dll 版本。
? 您從 Visual Studio .NET 的 Beta 2 版本升級到了發行版。
解決方案
? 打開的代碼和設計窗口過多
要解決此問題,請關閉在 Visual Studio .NET 交互式開發環境 (IDE) 中并未使用的所有啟動、代碼或設計窗口。通過 IDE 工作區的選項卡或 MDI 類型可以訪問這些窗口。
? 多個文件夾同名
要解決此問題,請為 Visual Studio .NET 項目中的各個文件夾分別指定一個唯一的名稱。
? 注冊丟失
警告:如果使用注冊表編輯器或其他方法錯誤地修改了注冊表,則可能導致嚴重問題。這些問題可能需要重新安裝操作系統才能解決。Microsoft 不能保證您可以解決這些問題。修改注冊表需要您自擔風險。
要解決此問題,請在注冊表中導入或手動添加丟失的信息。為此,請按照下列步驟操作:1. 單擊“開始”,然后單擊“運行”。在“打開”文本框中,鍵入 regedit,然后單擊“確定”以啟動注冊表編輯器。
2. 添加下面的注冊表項: ? HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}
將此項的默認值設置為 IEnumVARIANT
? HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}/NumMethods
將此項的默認值設置為 7
? HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}/ProxyStubClsid
將此項的默認值設置為 {00020421-0000-0000-C000-000000000046}
? HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}/ProxyStubClsid32
將此項的默認值設置為 {00020421-0000-0000-C000-000000000046}
? Mergemod.dll 未正確注冊
要解決此問題,請再次注冊 Mergemod.dll。通常,Mergemod.dll 位于以下文件夾中:
C:/Program Files/Common Files/Microsoft Shared/MSI Tools/Mergemod.dll
要注冊 Mergemod.dll,請在命令提示符處鍵入以下命令,然后按 Enter:
regsvr32 "C:/Program Files/Common Files/Microsoft Shared/MSI Tools/mergemod.dll"
? 從 Visual Studio .NET 的 Beta 2 版本升級
要解決此問題,請刪除 Visual Studio .NET 的 Beta 2 版,然后重新安裝發行版。 有關如何刪除 Visual Studio .NET Beta 版的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
312383 (http://support.microsoft.com/kb/312383/) 如何刪除 Visual Studio .NET Beta 版和預發布版本
狀態
這種現象是設計導致的。
阿瑞的解釋:
今天在搞一個安裝項目,編譯的時候總是出來一個“不可恢復的生成錯誤”,![]()
,于是我是翻山越頂啊,跋山涉水啊,終于找到了問題原來出自于C:/Program Files/Common Files/Microsoft Shared/MSI Tools/MergeMod.dll的版本不對,暈~~~~, 版本是1.20.1827.1,最新版是2.0.2542.0,在網上找了一個,當下來后,重新注冊一個就解決了,這里也給大家介紹一個專業的搜索dll的網站http://www.webzila.com/?wz=dll,還不錯
作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機號)
框架官網:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發框架
,
給用戶和開發者最佳的.Net框架平臺方案,為企業快速構建跨平臺、企業級的應用提供強大支持。
關于作者:系統架構師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,在面向對象、面向服務以及數據庫領域有一定的造詣。現主要從事基于
RDIF
框架的技術開發、咨詢工作,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝。

浙公網安備 33010602011771號