在生成安装和部署项目时出现“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 版和预发布版本 

 

状态
这种现象是设计导致的。


本文转自yonghu86 51CTO博客,原文链接:http://blog.51cto.com/yonghu/1321381,如需转载请自行联系原作者

相关文章
|
7月前
|
网络安全
这个错误信息表明在执行项目时出现了问题
【1月更文挑战第4天】【1月更文挑战第17篇】这个错误信息表明在执行项目时出现了问题
108 1
|
7月前
|
C++
[VS配置] 平台配置由Debug更换Release后出现错误
[VS配置] 平台配置由Debug更换Release后出现错误
59 0
|
开发工具 git
【问题解决】Git命令行常见error及其解决方法
以下是我一段时间没有使用xshell,然后用git命令行遇到的一些系列错误和他们的解决方法
271 0
|
数据可视化 开发工具
ROS错误及其解决方法
ROS错误及其解决方法
319 0
日常安装Error报错汇总
日常安装Error报错汇总
94 0
有效解决办法:marven:Fatal error compiling: 无效的目标发行版: 11
有效解决办法:marven:Fatal error compiling: 无效的目标发行版: 11
785 0
关于 编译软件时报错“xdo.c:29:34: fatal error: X11/extensions/XTest.h:”错误 的解决方法
关于 编译软件时报错“xdo.c:29:34: fatal error: X11/extensions/XTest.h:”错误 的解决方法
关于 编译软件时报错“xdo.c:29:34: fatal error: X11/extensions/XTest.h:”错误 的解决方法
|
编译器 开发工具 Windows
Qt使用过程中,遇到error及解决方法总结
Qt使用过程中,遇到error及解决方法总结
Build通过Archive出错的一个解决办法
Build通过Archive出错的一个解决办法
185 0