Wix:MSI 失败:错误 3:-2147287038

Posted

技术标签:

【中文标题】Wix:MSI 失败:错误 3:-2147287038【英文标题】:Wix: MSI failing: Error 3: -2147287038 【发布时间】:2014-02-19 14:40:00 【问题描述】:

我正在对 Wix 中的现有安装程序进行一些更改,我需要在 Windows 8 上启用 .Net 3.5。 这可以通过命令“dism.exe /online /enable-feature /featurename:NetFX3 /all /NoRestart”轻松完成。 (Windows 8 安装了 .Net35 已禁用)

所以我正在做一个简单的安装程序来添加到我的引导程序中来运行这个命令。 代码如下(pastebin):

WIX CODE

问题是安装时设置一直失败...日志如下(在pastebin中,它相当广泛):

SETUP LOG

Google 没有显示太多,尝试了一些自定义 UI,以管理员身份运行(我已经是管理员)

我正在使用 Windows 8.1 的 VM 上对此进行测试,从桌面运行 setupo。我也在使用带有 Visual Studio 2012 的 Wix 3.8

任何帮助将不胜感激。

【问题讨论】:

这真的是一个冗长的日志吗?那里没有任何迹象表明它甚至试图运行 dism.exe,没有自定义操作信息,什么都没有。 P.S.第 393 行 MSI (s) (04:D4) [17:20:10:936]:属性更改:添加 REMOVE 属性。它的值为“全部”。这似乎表明您发布了失败的卸载日志。 是的,这是一个详细的日志。你是对的,customaction 没有运行,至少显然没有运行。我认为 REMOVE 属性是由于安装失败,作为回滚。 【参考方案1】:

我很确定您的 MSI 文件缺少一个组件表,它没有正常运行,而且这个问题与 dism.exe 无关。日志在组件表上显示错误 2205。

【讨论】:

以上是关于Wix:MSI 失败:错误 3:-2147287038的主要内容,如果未能解决你的问题,请参考以下文章

Wix静默安装MSI我们可以停止创建目录吗

WIX 自定义卸载操作失败

Wix:处理大于 2 GB 的文件

如何设置 wix msi 以运行管理员广告

WiX 3.8:使用相同注册表值的两个MSI。如果同时卸载两个MSI,如何删除注册表值?

如何在 Wix Bundle 中引用动态命名的 MSI 文件