[ros-general] First NT6+ application support in ReactOS

Colin Finck colin at reactos.org
Wed Jan 10 09:05:28 UTC 2018


Hi all!

Starting with build 0.4.8-dev-655-g63a3a2c, ReactOS has first support
for NT6+ applications (aka programs written for Windows Vista, Windows
7, etc.). Please retest such applications under ReactOS!

As newer Windows APIs are still missing in ReactOS, I would be surprised
if a high number of NT6+ applications suddenly works.
However, many applications may just be compiled by a new Visual Studio
without using any modern APIs. They could work now.

My "Hello World" compiled by VS 2017 v141 toolchain printed many
messages about missing apiset DLLs in the debug log, but otherwise works
well. So the next step should obviously be finishing and integrating
Mark's work on the apiset DLLs in
https://github.com/learn-more/reactos/commits/apisets
But interestingly, the build produced by the v141_xp toolchain also
looks for these apiset DLLs. Therefore, it would be possible that an
application expects a full NT6 system when finding them. Consequently,
application compatibility could be compromised if we just dump all
apiset DLLs into ReactOS, applications now expect NT6, but the OS
continues to behave like NT5 by default.

This is why I suggest detecting an NT6+ application in ntdll to have it
auto-apply a shim that lets ReactOS behave like an NT6 OS. The apiset
DLLs should only be available in this mode, but not for the NT5
personality of ReactOS. Let's not import the apisets before the ntdll
shim work is done in order to preserve our existing application
compatibility.


Cheers,

Colin



More information about the Ros-general mailing list