【问题标题】:Node.js installation (windows installer) terminates prematurely on windows 10 64-bitNode.js 安装(Windows 安装程序)在 Windows 10 64 位上过早终止
【发布时间】:2018-11-02 18:20:13
【问题描述】:

由于 Windows 更新导致我的笔记本电脑崩溃,我重新安装了 Windows 10 后,我不得不重新安装许多应用程序。其中之一是 node.js。当我尝试通过 Windows 安装程序安装它时,我不断收到“安装向导因错误消息而提前结束”。我不确定问题是什么。我使用的是 x64 版本,这就是我的操作系统,并且程序文件中没有 nodejs 文件夹。当我记录安装时,这条消息出现在has no eligible binary patches 的很多行中。在没有符合条件的行之前有错误日志,例如:

'WixSchedInternetShortcuts:  Error 0x8007000d: failed to add temporary row, dberr: 1, err: Directory_'

'WixSchedInternetShortcuts:  Folder 'ApplicationProgramsFolder' already exists in the CreateFolder table; the above error is harmless'

如果信息不足,请告诉我如何发送完整的日志,而不会在线程中发送大量文本。谢谢。

MSI 日志文件https://gist.github.com/luki2000/ab00476127d54aaf610d8bda84d40a64

【问题讨论】:

标签: node.js windows wix windows-installer


【解决方案1】:

Maybe try to search the log for "value 3" as explained by Rob Mensching in his blog。这样做会在日志文件中找到描述重要错误的位置。

许多人使用 dropboxgdisk类似 来发布日志。 Some put it on github(只是OP的示例日志,留作参考)。检查最后一个链接,这可能是您看到的相同问题吗? (如上所述搜索“value 3” - 当然不包括引号)。似乎创建 Internet 快捷方式时出错。也许这是 Windows 10 的问题?我会快速浏览一下。

我打赌 Bob Arnson 完全知道这个问题是什么。他可能会给我们真正的答案,请参阅下面的解决方法。

总体而言,正确的做法可能是将问题传达给 Node.js 人员,以便他们可以一劳永逸地解决问题。

更新:也许看看这个答案是否对您有帮助:node.js installer failing with 'CAQuietExec Failed' and 1603 error code on Windows 7。基本上在设置的功能对话框中取消选中 Event tracing(ETW) - 或者您可以尝试从提升的命令提示符启动 MSI。


更新WixInternetShortcut table 中似乎为此 MSI 配置了两个 Internet 快捷方式。我只想创建一个转换来删除这两个快捷方式并尝试重新安装。如果您觉得大胆无畏并且喜欢违法,您可以从表格中删除两行,直接保存到 MSI 本身。如果您是部署专家,这绝不是正确的做法。最初的 MSI 是神圣的,但如果这是针对您自己的系统并且您需要完成一些事情,那将是可行的。然后,您只需在之后直接安装 MSI。否则,您可以在使用简单的命令行创建转换后安装它:

msiexec.exe /i node-v8.11.2-x64.msi TRANSFORMS="C:\MyTransform"

您可以使用支持创建转换的Orca, InstEd or SuperOrcaany commercial tool 创建转换。

如果您不知道,转​​换是应用于原始 MSI(它也是底层数据库)的小数据库片段。应用转换后,MSI 的内存版本是 MSI + 来自转换的更改。

【讨论】:

  • 好的,我使用了 Rob Mensching 的方法并为它创建了一个要点。 gist.github.com/luki2000/ab00476127d54aaf610d8bda84d40a64 我多次得到值 3,一个明确的错误吐出:'CAQuietExec:错误 0xc0000409:命令行返回错误。 CAQuietExec:错误 0xc0000409:QuietExec 失败 CAQuietExec:错误 0xc0000409:ExecCommon 方法失败'
  • 您在我添加最新更改之前接受了答案。看起来问题与事件清单注册有关。请参阅我添加到另一个堆栈溢出答案的链接。看起来您可以在设置的功能对话框中取消选中 Event tracing(ETW)
  • 删除事件跟踪解决了这个问题,非常感谢!
  • 太棒了!玩得开心编码。 Javascript是邪恶的!只是在说'! ;-)。
猜你喜欢
  • 2018-11-23
  • 2017-04-07
  • 2015-11-05
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 2016-07-30
  • 2017-04-10
相关资源
最近更新 更多