On Fri, Apr 01, 2022 at 02:59:22PM +0900, Michael Paquier wrote:
> On Thu, Mar 31, 2022 at 07:03:09PM +0800, Julien Rouhaud wrote:
> > There's no such indication on IsWindowsVersionOrGreater(), but after seeing
> > various comments on forums from angry people, it may be a hint that it behaves
> > similarly. I'm not sure what to do at this point, maybe just always use the
> > flag (the PG_ version which may be 0), hoping that hopefully windows won't
> > define it if it can't handle it?
>
> Looking at the internals of versionhelpers.h, would it work to use as
> arguments for IsWindowsVersionOrGreater() the following, in this
> order? As of:
> - HIBYTE(_WIN32_WINNT_WINTHRESHOLD)
> - LOBYTE(_WIN32_WINNT_WINTHRESHOLD)
> - 1703
>
> Just to drop an idea.
I will test that in a bit. I still think that at least some API exists to give
the real answer since winver and similar report correct info, I just don't know
what those are.
Note that if you want to test yourself you could use this script [1] using the
evaluation virtual machine [2] to automatically setup a windows 11 environment
with everything needed to compile postgres with a extra dependencies. The
whole process is a bit long though, so I can also give you access to my vm if
you prefer, probably the latency shouldn't be too bad :)
[1] https://github.com/rjuju/pg_msvc_generator/blob/master/bootstrap.ps1
[2] https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/