VS.NET在生成安装和部署项目时收到"不可恢复的致命错误"的解决办法

微软文档中说,发生此问题的原因有以下几种:

在 Visual Studio .NET 开发环境中,打开了多个窗口。
在您的 Visual Studio .NET 项目中,有多个文件夹同名。
注册表中的一些接口注册丢失。
在注册表中,Mergemod.dll 没有注册,或者注册了不完整的 Mergemod.dll 版本。
您从 Visual Studio .NET 的 Beta 2 版本升级到了发行版。

1.检查注册表是否包含下列内容,没有则将其添加到注册表中(注意操作安全,避免注册表损坏)

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}

2.Mergemod.dll 未正确注册

重新注册 C:/Program Files/Common Files/Microsoft Shared/MSI Tools/Mergemod.dll
方法就是 在命令行或"运行"中运行下列程序:

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

但是按照上面的方法处理之后,我这里的故障依旧。看来问题不是上面这么简单。

3.除了微软MSDN中提到的两个解决办法之外,还有一个很重要,恐怕也是很多人最终的解决办法。

    因为VS.NET的安装发布程序使用Windows Installer程序(VS.NET 2003 使用Windows Installer 2.0),检查MergeMod.dll 版本,发现是1.x,由于MergeMod.dll这个文件的版本不对,造成这个提示模糊的致命错误。正确的MergeMod.dll版本应该是2.0(针对VS.NET 2003)。将"C:/Program Files/Common Files/Microsoft Shared/MSI Tools/" 中的mergemod.dll 更换位2.0版本,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值