简体   繁体   English

node.js 安装向导在 Windows 10 64 位中过早结束

[英]node.js Setup Wizard ended prematurely in windows 10 64bit

For the last 3 days I have been trying to figure out how to install node.js.在过去的 3 天里,我一直在试图弄清楚如何安装 node.js。 I tried every solution that I found on the internet, like disabling certain components during installation, installing both x86 and x64 etc, none of them worked.我尝试了在 Internet 上找到的所有解决方案,例如在安装过程中禁用某些组件、同时安装 x86 和 x64 等,但都没有奏效。

My OS is Windows 10 x64.我的操作系统是 Windows 10 x64。 I tried different versions of node.js and they all return the same error shown in the screenshot below.我尝试了不同版本的 node.js,它们都返回了下面屏幕截图中显示的相同错误。

I tried installing through the command line and got the log.我尝试通过命令行安装并获取日志。 But I could not find anything useful from the log either.但我也无法从日志中找到任何有用的信息。 Please help.请帮忙。 The log can be found here: this path : https://drive.google.com/open?id=1OkkK36hlQeBX0xTNuOuilGaNr1u3S55e日志可以在这里找到: 这个路径https : //drive.google.com/open?id=1OkkK36hlQeBX0xTNuOuilGaNr1u3S55e

截屏

MSI (s) (74:88) [20:49:45:955]: Executing op: ActionStart(Name=RegisterEventManifest,,)
MSI (s) (74:88) [20:49:45:961]: Executing op: CustomActionSchedule(Action=RegisterEventManifest,ActionType=3073,Source=BinaryData,Target=CAQuietExec,CustomActionData="wevtutil.exe" im "C:\Program Files\nodejs\node_etw_provider.man")
MSI (s) (74:A0) [20:49:45:969]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI33C1.tmp, Entrypoint: CAQuietExec
CAQuietExec:  Error 0xc0000409: Command line returned an error.

This is the relevant part of the log and where the install keels over, noise removed.这是日志的相关部分,安装龙骨的地方,噪音消除了。 0xc0000409 is very, very nasty. 0xc0000409 非常非常讨厌。 STATUS_STACK_BUFFER_OVERRUN is a stack corruption error, triggered by code that protects against viral attacks. STATUS_STACK_BUFFER_OVERRUN 是堆栈损坏错误,由防止病毒攻击的代码触发。

Searching for "nodejs install 0xc0000409" takes you to this bug report , notable from December 2015. This issue has been dogging users for a long time, but they are having trouble finding the root cause.搜索“nodejs install 0xc0000409”会带你到这个 bug 报告,值得注意的是 2015 年 12 月。这个问题已经困扰用户很长时间,但他们很难找到根本原因。 The generic workaround is to disable this install step by disabling the installation of the ETW performance counters.通用解决方法是通过禁用 ETW 性能计数器的安装来禁用此安装步骤。

Which works, but is but a band-aid.哪个有效,但只是创可贴。 I think macario1983's comment points at the real troublemaker.我认为 macario1983 的评论指向真正的麻烦制造者。 It got a lot of helpful votes in just two days.它在短短两天内获得了很多有用的选票。 And points at the kind of viral rootkit that programmer's voluntarily install, the kind that can so easily cause a STATUS_STACK_BUFFER_OVERRUN error with no decent way to identify the code that causes it.并指出了程序员自愿安装的那种病毒式 rootkit,这种病毒很容易导致 STATUS_STACK_BUFFER_OVERRUN 错误,而没有像样的方法来识别导致它的代码。 Anti-malware has become a cure that is worse than the disease, Avast in particular is a truly awful product and does not belong on a programmer's machine.反恶意软件已经成为一种比疾病更糟糕的治疗方法,尤其是 Avast,它是一个真正可怕的产品,不属于程序员的机器。

So decent advice is to 1: disable the anti-malware product before installing Node.所以体面的建议是 1:在安装 Node.js 之前禁用反恶意软件产品。 2: get rid of completely if it is Avast. 2:如果是Avast就彻底去掉。 3: disable the performance counter registration. 3:禁用性能计数器注册。 4: try the updated installer, patched 4 days ago . 4:尝试更新的安装程序, 4 天前打过补丁。

我禁用了 AVG 防病毒软件(版本 18.4.3056)但没有禁用 Windows 防火墙,然后我就可以安装 nodejs。

Possible options to solve this:解决此问题的可能选项:

1. Removing previous installations traces 1. 删除以前的安装痕迹

If you have previous installations, make sure that they were uninstaled completely.如果您以前安装过,请确保它们已完全卸载。 If HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Perflib\\_V2Providers\\{1e2e15d7-3760-470e-8699-b9db5248edd5} record exist in your register, remove it.如果您的注册表中存在HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Perflib\\_V2Providers\\{1e2e15d7-3760-470e-8699-b9db5248edd5}记录,请将其删除。

2. Disabling Performance Counters 2. 禁用性能计数器

If you don't need Performance counters feature, try to install without it (or maybe even without Event Tracing ).如果您不需要Performance counters功能,请尝试在没有它的情况下进行安装(或者甚至可能没有Event Tracing )。

在此处输入图片说明

3. Disabling security and giving the full permissions 3.禁用安全并授予完全权限

  1. Clean Temp Folder清理Temp文件夹
  2. Disable your antivirus/firewall for the period of installation.在安装期间禁用防病毒/防火墙。
  3. C:/users/$user/AppData/Local/Temp - Right Click on Temp and go to Properties > select Security Tab > give the user permissions by checking Full Control on permission C:/users/$user/AppData/Local/Temp - 右键单击​​ Temp 并转到Properties > 选择Security选项卡 > 通过选中对权限的Full Control来授予用户权限
  4. Install Node.js安装 Node.js

I had today the same problem with Windows 10 64 bit and Node.js 8.11.2: disabling completly Avast just for the time of the installation solved the issue .我今天在 Windows 10 64 位和 Node.js 8.11.2 上遇到了同样的问题:仅在安装时完全禁用 Avast 解决了这个问题

I was trying to install Node.js through node-v8.11.2-x64.exe, but it was rolling back every time at the end.我试图通过 node-v8.11.2-x64.exe 安装 Node.js,但每次都在回滚。 The error in the event log was about wevtutil.exe, version 10.0.17134.1事件日志中的错误是关于 wevtutil.exe,版本 10.0.17134.1

I had the same issue on a Windows 2012R2 server installing node-v8.11.2-x64, and disabled the McAfee anti-virus to no avail.我在安装 node-v8.11.2-x64 的 Windows 2012R2 服务器上遇到了同样的问题,并且禁用了 McAfee 防病毒软件也无济于事。 When I went to clean out the TEMP folder as suggested in this thread, I noticed that several files and folders were locked and could not be deleted, so I rebooted the machine (with the anti-virus disabled).当我按照这个线程中的建议清理 TEMP 文件夹时,我注意到几个文件和文件夹被锁定并且无法删除,所以我重新启动了机器(禁用了防病毒)。 After the reboot, I noticed that the locked temp files had been deleted, and I was able to install node.js, including the Performance Counters and Event Tracking options.重新启动后,我注意到锁定的临时文件已被删除,并且我能够安装 node.js,包括性能计数器和事件跟踪选项。

我花了一天时间......最好的解决方案是下载 zip 示例 node-v12.16.2-win-x86.zip。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM