[WINESYNC] 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@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 658183a803fced017e1e29f4001cec8b48748327 by Zebediah Figura <z.figura12@gmail.com>
This commit is contained in:
winesync 2022-03-13 19:08:27 +01:00 committed by Mark Jansen
parent ba60287fce
commit f4d2571b7e
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B
3 changed files with 25 additions and 3 deletions

View file

@ -38,6 +38,12 @@
#include "wine/unicode.h"
#include "wine/exception.h"
#ifdef __REACTOS__
#ifndef STATUS_ACCESS_VIOLATION
#define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005)
#endif
#endif
WINE_DEFAULT_DEBUG_CHANNEL(msi);
#define CUSTOM_ACTION_TYPE_MASK 0x3F

View file

@ -21,12 +21,20 @@
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#define COBJMACROS
#ifdef __REACTOS__
#define WIN32_NO_STATUS
#endif
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
#include "winnls.h"
#ifdef __REACTOS__
#include <ndk/rtlfuncs.h>
#else
#include "winternl.h"
#endif
#include "shlwapi.h"
#include "wingdi.h"
#include "msi.h"
@ -668,7 +676,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 +868,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((PRTL_OSVERSIONINFOW)&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)
{

View file

@ -8,6 +8,9 @@
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#ifdef __REACTOS__
#define WIN32_NO_STATUS
#endif
#define COBJMACROS
#define NONAMELESSUNION