Node.js 安装(windows 安装程序)在 windows 10 64 位上提前终止

Node.js installation (windows installer) terminates prematurely on windows 10 64-bit

由于 windows 更新使我的笔记本电脑崩溃,在经历了 windows 10 重新安装后,我不得不重新安装许多应用程序。其中之一是 node.js。当我尝试通过 windows 安装程序安装它时,我一直收到 'setup wizard ended prematurely because of an error message'。我不确定是什么问题。我使用的是 x64 版本,这就是我的 OS 版本,程序文件中没有 nodejs 文件夹。当我登录安装时,这条消息在很多行 has no eligible binary patches 中弹出。在 no eligible lines 之前有错误日志,例如:

'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

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

许多人使用 dropboxgdisksimilar to post logs . Some put it on github(只是OP的示例日志,留作参考)。检查最后一个 link,这可能是您看到的相同问题吗? (如上所述搜索“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 快捷方式。我只想创建一个转换来删除这两个快捷方式并尝试重新安装。如果你胆子大,喜欢违法,可以把table里的两行删掉,直接存到MSI里面就行了。如果您是部署专家,这绝不是正确的做法。最初的 MSI 是神圣的,但如果这是针对您自己的系统并且您需要完成一些事情,那也行。然后你就直接安装MSI。否则,您可以在使用简单的命令行创建转换后安装它:

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

您可以使用支持创建转换的 or any commercial tool 创建转换。

如果您不知道,转​​换是应用于原始 MSI(这也是引擎盖下的数据库)的小数据库片段。应用转换后,MSI 的内存版本是 MSI + 转换后的更改。