vs2005打包安装时提示“不可恢复的生成错误”解决办法

原因
通常,发生此问题的原因有以下几种: • 在 Visual Studio .NET 开发环境中,打开了多个窗口。
• 在您的 Visual Studio .NET 项目中,有多个文件夹同名。
• 注册表中的一些接口注册丢失。
• 在注册表中,Mergemod.dll 没有注册,或者注册了不完整的 Mergemod.dll 版本。版本为2.0.2542.0
• 您从 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 版和预发布版本 

posted @ 2010-11-30 17:57  Code技术人生  阅读(1483)  评论(1编辑  收藏  举报