On Wed, Jan 10, 2018 at 10:05:28AM +0100, Colin Finck wrote
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.
Question; is it possible to have manual control? E.g. given "foo.exe"
at NT5 level, and "bar.exe" at NT6 level, the user sets up batch files
with commands like...
set NTLEVEL="5"
foo
...or...
set NTLEVEL="6"
bar
...and have the OS check the environmental variable and launch the
program with the appropriate dll sets.
--
Walter Dnes <waltdnes(a)waltdnes.org>