任何 MSI 安装项目上的“不可恢复的构建错误”

Posted

技术标签:

【中文标题】任何 MSI 安装项目上的“不可恢复的构建错误”【英文标题】:"Unrecoverable build error" on any MSI Setup project 【发布时间】:2010-09-25 05:50:48 【问题描述】:

前段时间我在构建任何 Visual Studio 部署项目时遇到此错误。

“不可恢复的构建错误”

我以为我的 VS 安装已损坏或我删除了一些重要文件,但是...

【问题讨论】:

【参考方案1】:

尝试了上面的那些解决方案......最后删除和添加 Visual Studio 安装程序项目扩展解决了这个问题。 将其留在这里作为替代解决方案。

【讨论】:

【参考方案2】:

如果您将项目输出包括为“发布项目”并且您没有指定将产生输出的 PublishProfilePath,也会发生这种情况。不幸的是,当您选择此输出类型时,系统不会提示您选择此关键信息。

要指定路径,请单击“文件系统”窗口右侧窗格中的“项目输出”项,

然后显示它的属性面板(Ctrl+W,P)。

单击该字段,您应该能够为您的项目选择所需的发布配置文件(如果您尚未创建一个,则需要通过右键单击解决方案资源管理器中的主项目,然后单击发布;我创建了一个文件夹配置文件)。进行干净的构建,就我而言,问题已解决。

请注意,我之前已经注册了上述 DLL,因此这也可能是问题的一部分。

【讨论】:

【参考方案3】:

...我所要做的就是。

关闭 Visual Studio。

开始,运行或WIN+R,输入cmd,确定。

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

对于 x64 位机器

regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MSI Tools\mergemod.dll"
regsvr32 ole32.dll

警告:您必须管理员模式下运行命令提示符!

关闭命令提示符。

打开 Visual Studio 并尝试重建您的部署项目!它对我有用!

【讨论】:

非常棒的答案老兄! +1 我确信这一定很明显,但 Microsoft 的说明不包括关闭 Visual Studio,这使它们无法为我工作。谢谢! 不要忘记,如果您在 x64 位机器上运行,则必须从 C:\Program Files (x86)\Common Files\Microsoft Shared\MSI Tools\mergemod.dll 引用 mergemod.dll 另外,不要忘记以管理员身份运行 cmd。否则,您可能会收到臭名昭著的代码 0x80004005 的错误。 Visual Studio 2017 64 位仅在使用 @Tr1stan 编辑时有效。【参考方案4】:

重新安装(修复)Visual Studio 为我解决了这个问题。

【讨论】:

【参考方案5】:

我在 Visual Studio 2010 Ultimate 中遇到了同样的问题。注册技巧:

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

帮助!

【讨论】:

谢谢我从过去 1 小时开始尝试,为你 +1【参考方案6】:

我们遇到了这个问题,上面的解决方案对我们不起作用。经过几天的摸索,我们发现我们的解决方案是从本地用户临时文件夹中删除所有 VSI*.TMP 文件:

C:\Documents and Settings\用户名\Local Settings\Temp

在我们的例子中,这在 Hudson 构建机器上出错了 - Visual Studio 似乎创建了临时文件并且没有正确清理它们。一旦它创建了 65536 个临时文件(VSI0000.tmp 到 VSIFFFF.tmp),它就无法再创建,MSI 项目将无法构建。

感谢这篇博文的解决方案:

http://blog.richardadleta.com/2009/08/using-visual-studio-command-line.html

【讨论】:

我试图删除这些文件,但它显示消息“文件不再可用”,即使我能够在搜索结果中看到它 我的临时文件位于:c:\Users\username\AppData\Local\Temp\

以上是关于任何 MSI 安装项目上的“不可恢复的构建错误”的主要内容,如果未能解决你的问题,请参考以下文章

MSI 安装程序所有用户:设置 SCRNSAVE.EXE 的值

MSI无法卸载

在Visual Studio 2017中为WPF应用程序创建MSI安装程序后,EXE不执行任何操作

安装.msi格式安装包

从 WinForms C# 项目创建 .exe 或 MSI

我电脑凡是安装.msi文件就出问题~