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@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) {