[PATCH 1/3] msi: Report the real NT version number up to 6.3.
Zebediah Figura
z.figura12 at gmail.com
Sat Apr 18 12:50:28 CDT 2020
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>
---
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)
{
--
2.26.0
More information about the wine-devel
mailing list