![](/Emoticons/emstar.gif)
这段时间,忙完两个大项目后,终于没事儿了,找点空闲时间,我今天做安装部属,听同事老牛说VS.net的部署比InstallShield简单多了,我也想做做看,不曾想,捅破了天,把VS.net做出个“不可恢复的生成错误”的故障来。
![](/Emoticons/emstar.gif)
心理总预感有解决办法,肯定不用重装,最后终于搞定了。
![](/Emoticons/emteeth.gif)
(一)多个打开的窗口
要解决此问题,请关闭其中的一些窗口,然后再次尝试生成该安装项目。
(二)多个文件夹同名
要解决此问题,请为 Visual Studio .NET 项目中的各个文件夹分别指定一个唯一的名称。
(三)注册丢失
要解决此问题,请在注册表中导入或手动添加丢失的信息。为此,请按照下列步骤操作:
1. | 单击“开始”,然后单击“运行”。在“打开”文本框中,键入 regedit,然后单击“确定”以启动注册表编辑器。 | ||||||||
2. | 添加下列注册表项:
|
(四)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并加之自己实践总结