https://bugs.winehq.org/show_bug.cgi?id=43999
Bug ID: 43999 Summary: GetVersion incorrectly fails to lie about the OS version when masquerading as Windows 8.1 or 10 Product: Wine Version: 2.19 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 Assignee: wine-bugs@winehq.org Reporter: fiendishx@gmail.com Distribution: ---
Windows 8.1 and Windows 10 require applications to have an embedded manifest specifically targeting their versions before they will respond truthfully to GetVersion, GetVersionEx, and (10 only) VerifyVersionInfo calls.
Wine answers truthfully for unmanifested applications, which is unfortunately the wrong behavior.
https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).a... says:
"In Windows 8.1 and Windows 10, the GetVersion and GetVersionEx functions have been deprecated. In Windows 10, the VerifyVersionInfo function has also been deprecated. While you can still call the deprecated functions, if your application does not specifically target Windows 8.1 or Windows 10, you will get Windows 8 version (6.2.0.0)."
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).a... says:
"With the release of Windows 8.1, the behavior of the GetVersion API has changed in the value it will return for the operating system version. The value returned by the GetVersion function now depends on how the application is manifested.
Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). Once an application is manifested for a given operating system version, GetVersion will always return the version that the application is manifested for in future releases."