There are two key problems with trying to run Node.js on Windows 7, but they can both be solved.
The immediate problem is that only older versions of Node.js allow installation on Windows 7. v13.14.0 is the latest version which supports Windows 7; v14.0.0 will only run on Windows 8 or newer. This is a minor issue as all the former releases are archived at https://nodejs.org/en/download/releases/, so simply select an applicable installer, download, and install as usual.
The secondary problem is that Chocolatey will no longer easily install on Windows 7. Attempts will typically fail with an “Exception calling “DownloadString” with “1” argument(s): “The underlying connection was closed: An unexpected error occurred on a send.” and/or “The request was aborted: Could not create SSL/TLS secure channel.” error in bright red text.
Consulting https://chocolatey.org/docs/troubleshooting will point to the root cause: Chocolatey will not install on an older machine unable to use TLS 1.2 or higher.
The official Chocolatey support page at https://chocolatey.org/blog/remove-support-for-old-tls-versions does explain the essence of the issue, and the reasons behind the need for TLS 1.2, but does not sufficiently detail the remedy.
There are a number of steps required to get this working enough to install Chocolatey.
– Make sure .NET Framework 4.5 is installed.
– Make sure PowerShell is up-to-date by installing Windows Management Framework 5.1.
– Make sure TLS v1.2 support is enabled in Windows by adding the required TLS 1.x registry keys.
– Force Windows to default to strong cryptography (TLS) by first running PowerShell as administrator, and then pasting the following commands:
# set strong cryptography on 64 bit .Net Framework (version 4 and above)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
# set strong cryptography on 32 bit .Net Framework (version 4 and above)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
That’s it! Node.js should now be able to fetch all the needed Chocolatey, Python, and other support files during installation.