Loading

.net安装部署时出现“不可恢复的生成错误”(“Unrecoverable Build Error”)

这段时间,忙完两个大项目后,终于没事儿了,找点空闲时间,我今天做安装部属,听同事老牛说VS.net的部署比InstallShield简单多了,我也想做做看,不曾想,捅破了天,把VS.net做出个“不可恢复的生成错误”的故障来。
心理总预感有解决办法,肯定不用重装,最后终于搞定了。

多个打开的窗口 
要解决此问题,请关闭其中的一些窗口,然后再次尝试生成该安装项目。
多个文件夹同名 
要解决此问题,请为 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}

Mergemod.dll 未正确注册

regsvr32 "C:\Program Files\Common Files\Microsoft Shared\MSI Tools\mergemod.dll"

Mergemod.dll 版本太老 
查看文件:C:\Program Files\Common Files\Microsoft Shared\MSI Tools\mergemod.dll
的版本号是否 "2.0.2600.0",如果不是的话,找一个这个文件,覆盖之,即可。

参看msdn并加之自己实践总结

posted @ 2007-07-23 15:46  光脚码农  阅读(569)  评论(0编辑  收藏  举报