From 3aac3f5583c152f03c466f69e4f9b065be417763 Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Wed, 27 Oct 2021 09:49:20 +0100 Subject: [PATCH] [misc] improve Windows edition reporting * Closes #1808 * Also update rufus-next to 3.18 --- configure | 20 ++++++++-------- configure.ac | 2 +- src/rufus.rc | 12 +++++----- src/stdfn.c | 66 ++++++++++++++++++++++++++++++++++------------------ 4 files changed, 60 insertions(+), 40 deletions(-) diff --git a/configure b/configure index f1a1b5f4..3ea2c16d 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for rufus 3.17. +# Generated by GNU Autoconf 2.71 for rufus 3.18. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='rufus' PACKAGE_TARNAME='rufus' -PACKAGE_VERSION='3.17' -PACKAGE_STRING='rufus 3.17' +PACKAGE_VERSION='3.18' +PACKAGE_STRING='rufus 3.18' PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues' PACKAGE_URL='https://rufus.ie' @@ -1268,7 +1268,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rufus 3.17 to adapt to many kinds of systems. +\`configure' configures rufus 3.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1335,7 +1335,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rufus 3.17:";; + short | recursive ) echo "Configuration of rufus 3.18:";; esac cat <<\_ACEOF @@ -1427,7 +1427,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rufus configure 3.17 +rufus configure 3.18 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1503,7 +1503,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rufus $as_me 3.17, which was +It was created by rufus $as_me 3.18, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2767,7 +2767,7 @@ fi # Define the identity of the package. PACKAGE='rufus' - VERSION='3.17' + VERSION='3.18' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -5205,7 +5205,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rufus $as_me 3.17, which was +This file was extended by rufus $as_me 3.18, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5261,7 +5261,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -rufus config.status 3.17 +rufus config.status 3.18 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index fa305d55..298d635b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([rufus], [3.17], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie]) +AC_INIT([rufus], [3.18], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie]) AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies]) AC_CONFIG_SRCDIR([src/rufus.c]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/rufus.rc b/src/rufus.rc index 15539cf9..7995cdf5 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 3.17.1847" +CAPTION "Rufus 3.18.1848" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -395,8 +395,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,17,1847,0 - PRODUCTVERSION 3,17,1847,0 + FILEVERSION 3,18,1848,0 + PRODUCTVERSION 3,18,1848,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -414,13 +414,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.17.1847" + VALUE "FileVersion", "3.18.1848" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" - VALUE "OriginalFilename", "rufus-3.17.exe" + VALUE "OriginalFilename", "rufus-3.18.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.17.1847" + VALUE "ProductVersion", "3.18.1848" END END BLOCK "VarFileInfo" diff --git a/src/stdfn.c b/src/stdfn.c index 3e221006..eac6d5b7 100644 --- a/src/stdfn.c +++ b/src/stdfn.c @@ -255,61 +255,81 @@ static const char* GetEdition(DWORD ProductType) case 0x00000004: return "Enterprise"; case 0x00000005: return "Home Basic N"; case 0x00000006: return "Business"; - case 0x00000007: return "Standard Server"; - case 0x00000008: return "Datacenter Server"; + case 0x00000007: return "Server Standard"; + case 0x00000008: return "Server Datacenter"; case 0x00000009: return "Smallbusiness Server"; - case 0x0000000A: return "Enterprise Server"; + case 0x0000000A: return "Server Enterprise"; case 0x0000000B: return "Starter"; + case 0x0000000C: return "Server Datacenter (Core)"; + case 0x0000000D: return "Server Standard (Core)"; + case 0x0000000E: return "Server Enterprise (Core)"; case 0x00000010: return "Business N"; case 0x00000011: return "Web Server"; - case 0x00000012: return "Cluster Server"; - case 0x00000013: return "Home Server"; + case 0x00000012: return "HPC Edition"; + case 0x00000013: return "Storage Server (Essentials)"; case 0x0000001A: return "Home Premium N"; case 0x0000001B: return "Enterprise N"; case 0x0000001C: return "Ultimate N"; - case 0x00000022: return "Home Premium Server"; + case 0x00000022: return "Home Server"; + case 0x00000024: return "Server Standard without Hyper-V"; + case 0x00000025: return "Server Datacenter without Hyper-V"; + case 0x00000026: return "Server Enterprise without Hyper-V"; + case 0x00000027: return "Server Datacenter without Hyper-V (Core)"; + case 0x00000028: return "Server Standard without Hyper-V (Core)"; + case 0x00000029: return "Server Enterprise without Hyper-V (Core)"; + case 0x0000002A: return "Hyper-V Server"; case 0x0000002F: return "Starter N"; case 0x00000030: return "Pro"; case 0x00000031: return "Pro N"; + case 0x00000034: return "Server Solutions Premium"; + case 0x00000035: return "Server Solutions Premium (Core)"; + case 0x00000040: return "Server Hyper Core V"; case 0x00000042: return "Starter E"; case 0x00000043: return "Home Basic E"; case 0x00000044: return "Premium E"; case 0x00000045: return "Pro E"; case 0x00000046: return "Enterprise E"; case 0x00000047: return "Ultimate E"; - case 0x00000048: return "Enterprise Eval"; - case 0x00000054: return "Enterprise N Eval"; + case 0x00000048: return "Enterprise (Eval)"; + case 0x0000004F: return "Server Standard (Eval)"; + case 0x00000050: return "Server Datacenter (Eval)"; + case 0x00000054: return "Enterprise N (Eval)"; case 0x00000057: return "Thin PC"; case 0x00000058: case 0x00000059: case 0x0000005A: case 0x0000005B: case 0x0000005C: return "Embedded"; - case 0x00000065: return "Core"; - case 0x00000067: return "Professional WMC"; + case 0x00000062: return "Home N"; + case 0x00000063: return "Home China"; + case 0x00000064: return "Home Single Language"; + case 0x00000065: return "Home"; + case 0x00000067: return "Pro with Media Center"; case 0x00000069: case 0x0000006A: case 0x0000006B: case 0x0000006C: return "Embedded"; - case 0x0000006F: return "Core Connected"; + case 0x0000006F: return "Home Connected"; case 0x00000070: return "Pro Student"; - case 0x00000071: return "Core Connected N"; + case 0x00000071: return "Home Connected N"; case 0x00000072: return "Pro Student N"; - case 0x00000073: return "Core Connected Single Language"; - case 0x00000074: return "Core Connected China"; - case 0x00000079: return "Edu"; - case 0x0000007A: return "Edu N"; - case 0x0000007D: return "Enterprise S"; - case 0x0000007E: return "Enterprise S N"; + case 0x00000073: return "Home Connected Single Language"; + case 0x00000074: return "Home Connected China"; + case 0x00000079: return "Education"; + case 0x0000007A: return "Education N"; + case 0x0000007D: return "Enterprise LTSB"; + case 0x0000007E: return "Enterprise LTSB N"; case 0x0000007F: return "Pro S"; case 0x00000080: return "Pro S N"; - case 0x00000081: return "Enterprise S Eval"; - case 0x00000082: return "Enterprise S N Eval"; + case 0x00000081: return "Enterprise LTSB (Eval)"; + case 0x00000082: return "Enterprise LTSB N (Eval)"; case 0x0000008A: return "Pro Single Language"; case 0x0000008B: return "Pro China"; case 0x0000008C: return "Enterprise Subscription"; case 0x0000008D: return "Enterprise Subscription N"; + case 0x00000091: return "Server Datacenter SA (Core)"; + case 0x00000092: return "Server Standard SA (Core)"; case 0x00000095: return "Utility VM"; - case 0x000000A1: return "Pro Workstation"; - case 0x000000A2: return "Pro Workstation N"; + case 0x000000A1: return "Pro for Workstations"; + case 0x000000A2: return "Pro for Workstations N"; case 0x000000A4: return "Pro for Education"; case 0x000000A5: return "Pro for Education N"; case 0x000000AB: return "Enterprise G"; // I swear Microsoft are just making up editions... case 0x000000AC: return "Enterprise G N"; - case 0x000000B6: return "Core OS"; + case 0x000000B6: return "Home OS"; case 0x000000B7: return "Cloud E"; case 0x000000B8: return "Cloud E N"; case 0x000000BD: return "Lite";