.net2003制作安装包时出现“不可恢复的生成错误”(“Unrecoverable Build Error”)
常见原因及解决方法:(如果出现此种问题,建议先查看Mergemod.dll 版本问题,不知怎么搞得,我机器出现过两次)
- Mergemod.dll 版本太老
查看文件:C:\Program Files\Common Files\Microsoft Shared\MSI Tools\mergemod.dll
的版本号是否 "2.0.2600.0",如果不是的话,找一个这个文件,覆盖之,即可。 - Mergemod.dll 未正确注册
regsvr32 "C:\Program Files\Common Files\Microsoft Shared\MSI Tools\mergemod.dll" - 多个打开的窗口
要解决此问题,请关闭其中的一些窗口,然后再次尝试生成该安装项目。 - 多个文件夹同名
要解决此问题,请为 Visual Studio .NET 项目中的各个文件夹分别指定一个唯一的名称。 - 注册丢失 要解决此问题,请在注册表中导入或手动添加丢失的信息。为此,请按照下列步骤操作:
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}