diff options
-rw-r--r-- | BUILDING.md | 7 | ||||
-rw-r--r-- | src/node_main.cc | 9 | ||||
-rwxr-xr-x | tools/msvs/msi/product.wxs | 4 |
3 files changed, 12 insertions, 8 deletions
diff --git a/BUILDING.md b/BUILDING.md index 4f24ebe06c0..7a923850e6e 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -106,8 +106,9 @@ platforms. This is true regardless of entries in the table below. | GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Experimental | Downgraded as of Node.js 12 | | GNU/Linux | ppc64le >=power8 | kernel >= 3.10.0, glibc >= 2.17 | Tier 2 | e.g. Ubuntu 16.04 <sup>[1](#fn1)</sup>, EL 7 <sup>[2](#fn2)</sup> | | GNU/Linux | s390x | kernel >= 3.10.0, glibc >= 2.17 | Tier 2 | e.g. EL 7 <sup>[2](#fn2)</sup> | -| Windows | x64, x86 (WoW64) | >= Windows 7/2008 R2/2012 R2 | Tier 1 | <sup>[4](#fn4),[5](#fn5)</sup> | -| Windows | x86 (native) | >= Windows 7/2008 R2/2012 R2 | Tier 1 (running) / Experimental (compiling) <sup>[6](#fn6)</sup> | | +| Windows | x64, x86 (WoW64) | >= Windows 8.1/2012 R2 | Tier 1 | <sup>[4](#fn4),[5](#fn5)</sup> | +| Windows | x86 (native) | >= Windows 8.1/2012 R2 | Tier 1 (running) / Experimental (compiling) <sup>[6](#fn6)</sup> | | +| Windows | x64, x86 | Windows Server 2012 (not R2) | Experimental | | | Windows | arm64 | >= Windows 10 | Experimental | | | macOS | x64 | >= 10.11 | Tier 1 | | | SmartOS | x64 | >= 18 | Tier 2 | | @@ -174,7 +175,7 @@ Binaries at <https://nodejs.org/download/release/> are produced on: | linux-s390x | RHEL 7 with devtoolset-6 / GCC 6 <sup>[7](#fn7)</sup> | | linux-x64 | CentOS 7 with devtoolset-6 / GCC 6 <sup>[7](#fn7)</sup> | | sunos-x64 | SmartOS 18 with GCC 7 | -| win-x64 and win-x86 | Windows 2012 R2 (x64) with Visual Studio 2017 | +| win-x64 and win-x86 | Windows 2012 R2 (x64) with Visual Studio 2019 | <em id="fn7">7</em>: The Enterprise Linux devtoolset-6 allows us to compile binaries with GCC 6 but linked to the glibc and libstdc++ versions of the host diff --git a/src/node_main.cc b/src/node_main.cc index e92c0df9429..00f3f2a4836 100644 --- a/src/node_main.cc +++ b/src/node_main.cc @@ -28,9 +28,12 @@ #include <WinError.h> int wmain(int argc, wchar_t* wargv[]) { - if (!IsWindows7OrGreater()) { - fprintf(stderr, "This application is only supported on Windows 7, " - "Windows Server 2008 R2, or higher."); + // Windows Server 2012 (not R2) is supported until 10/10/2023, so we allow it + // to run in the experimental support tier. + if (!IsWindows8Point1OrGreater() && + !(IsWindowsServer() && IsWindows8OrGreater())) { + fprintf(stderr, "This application is only supported on Windows 8.1, " + "Windows Server 2012 R2, or higher."); exit(ERROR_EXE_MACHINE_TYPE_MISMATCH); } diff --git a/tools/msvs/msi/product.wxs b/tools/msvs/msi/product.wxs index f008ea7f9ad..8a278637e60 100755 --- a/tools/msvs/msi/product.wxs +++ b/tools/msvs/msi/product.wxs @@ -23,8 +23,8 @@ Compressed="yes" InstallScope="perMachine"/> - <Condition Message="This application is only supported on Windows 7, Windows Server 2008 R2, or higher."> - <![CDATA[Installed OR (VersionNT >= 601)]]> + <Condition Message="This application is only supported on Windows 8.1, Windows Server 2012 R2, or higher."> + <![CDATA[Installed OR (VersionNT >= 603) OR (VersionNT >= 602 AND MsiNTProductType <> 1)]]> </Condition> <Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/> |