这段时间,忙完两个大项目后,终于没事儿了,找点空闲时间,我今天做安装部属,听同事老牛说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 on 2005-01-21 16:48  apple  阅读(2979)  评论(3编辑  收藏  举报