Zebediah Figura : msi: Report the real NT version number up to 6.3.

Alexandre Julliard julliard at winehq.org
Mon Apr 20 15:48:19 CDT 2020


Module: wine
Branch: master
Commit: 658183a803fced017e1e29f4001cec8b48748327
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=658183a803fced017e1e29f4001cec8b48748327

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sat Apr 18 12:50:28 2020 -0500

msi: Report the real NT version number up to 6.3.

MSI always reports 6.3 even without a manifest, but does not report anything
higher.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48959
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/package.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index 5065558827..7b64362b10 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -27,6 +27,7 @@
 #include "winbase.h"
 #include "winreg.h"
 #include "winnls.h"
+#include "winternl.h"
 #include "shlwapi.h"
 #include "wingdi.h"
 #include "msi.h"
@@ -668,7 +669,7 @@ done:
 static VOID set_installer_properties(MSIPACKAGE *package)
 {
     WCHAR *ptr;
-    OSVERSIONINFOEXW OSVersion;
+    RTL_OSVERSIONINFOEXW OSVersion;
     MEMORYSTATUSEX msex;
     DWORD verval, len, type;
     WCHAR pth[MAX_PATH], verstr[11], bufstr[22];
@@ -860,9 +861,14 @@ static VOID set_installer_properties(MSIPACKAGE *package)
     msi_set_property( package->db, szPrivileged, szOne, -1 );
 
     /* set the os things */
-    OSVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
-    GetVersionExW((OSVERSIONINFOW *)&OSVersion);
+    OSVersion.dwOSVersionInfoSize = sizeof(OSVersion);
+    RtlGetVersion(&OSVersion);
     verval = OSVersion.dwMinorVersion + OSVersion.dwMajorVersion * 100;
+    if (verval > 603)
+    {
+        verval = 603;
+        OSVersion.dwBuildNumber = 9600;
+    }
     len = swprintf( verstr, ARRAY_SIZE(verstr), szFormat, verval );
     switch (OSVersion.dwPlatformId)
     {




More information about the wine-cvs mailing list