diff --git a/LICENSES/Unlicense.md b/LICENSES/Unlicense.md
new file mode 100644
index 0000000..7f6e5ae
--- /dev/null
+++ b/LICENSES/Unlicense.md
@@ -0,0 +1,27 @@
+Unlicense (Public Domain)
+============================
+
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to <>
diff --git a/windows/windows_version_info/ReactOS/OSVERSIONINFOA.dat b/windows/windows_version_info/ReactOS/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..b37e352
Binary files /dev/null and b/windows/windows_version_info/ReactOS/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/ReactOS/OSVERSIONINFOEXA.dat b/windows/windows_version_info/ReactOS/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..27934ce
Binary files /dev/null and b/windows/windows_version_info/ReactOS/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/ReactOS/OSVERSIONINFOEXW.dat b/windows/windows_version_info/ReactOS/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..dc91ac3
Binary files /dev/null and b/windows/windows_version_info/ReactOS/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/ReactOS/OSVERSIONINFOW.dat b/windows/windows_version_info/ReactOS/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..8389cbb
Binary files /dev/null and b/windows/windows_version_info/ReactOS/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOA.dat b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..b301a88
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOEXA.dat b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..6534ec2
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOEXW.dat b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..6e1ab18
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOW.dat b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..0230936
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_2000/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOA.dat b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..3369646
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOEXA.dat b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..982c3cf
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOEXW.dat b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..dbf02f2
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOW.dat b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..12bcabe
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOA.dat b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..683667a
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOEXA.dat b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..8aacde7
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOEXW.dat b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..ab61a4a
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOW.dat b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..dde5727
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_7_sp1/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOA.dat b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..a17978f
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOEXA.dat b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..2c77fbc
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOEXW.dat b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..aa3ba83
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOW.dat b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..4a3c6e0
Binary files /dev/null and b/windows/windows_version_info/ReactOS_Compat_XP/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/ReadMe.md b/windows/windows_version_info/ReadMe.md
new file mode 100644
index 0000000..4872b3a
--- /dev/null
+++ b/windows/windows_version_info/ReadMe.md
@@ -0,0 +1,18 @@
+
+
+## `OSVERSIONINFO(EX)?[AW]` structures
+
+* https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getversionexa
+* https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getversionexw
+* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-osversioninfoa
+* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-osversioninfoexa
+* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-osversioninfow
+* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-osversioninfoexw
+
+Generated with [`getOSVERSIONINFOEX.py`](./getOSVERSIONINFOEX.py)
+
+Script: Own work.
diff --git a/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..6230f54
Binary files /dev/null and b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..fca4b6d
Binary files /dev/null and b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..f717dd2
Binary files /dev/null and b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..76fc08d
Binary files /dev/null and b/windows/windows_version_info/Windows_10_Wine_8.3/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..d979754
--- /dev/null
+++ b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 120000
index 0000000..eabeb03
--- /dev/null
+++ b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOEXA.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOEXA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 120000
index 0000000..2045d86
--- /dev/null
+++ b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOEXW.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOEXW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..f424653
--- /dev/null
+++ b/windows/windows_version_info/Windows_11_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..c53f440
--- /dev/null
+++ b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../ReactOS/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 120000
index 0000000..5a730fc
--- /dev/null
+++ b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOEXA.dat
@@ -0,0 +1 @@
+../ReactOS/OSVERSIONINFOEXA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 120000
index 0000000..59c2873
--- /dev/null
+++ b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOEXW.dat
@@ -0,0 +1 @@
+../ReactOS/OSVERSIONINFOEXW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..a2c5c43
--- /dev/null
+++ b/windows/windows_version_info/Windows_2003_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../ReactOS/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..26798ac
--- /dev/null
+++ b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_7_sp1/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 120000
index 0000000..ff96930
--- /dev/null
+++ b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOEXA.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_7_sp1/OSVERSIONINFOEXA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 120000
index 0000000..92113e2
--- /dev/null
+++ b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOEXW.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_7_sp1/OSVERSIONINFOEXW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..27ba383
--- /dev/null
+++ b/windows/windows_version_info/Windows_2008_R2_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_7_sp1/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..222c500
Binary files /dev/null and b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..822caee
Binary files /dev/null and b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..118a3e4
Binary files /dev/null and b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..bf9dfe7
Binary files /dev/null and b/windows/windows_version_info/Windows_2008_Wine_8.3/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..26798ac
--- /dev/null
+++ b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_7_sp1/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..eaf8333
Binary files /dev/null and b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..f6b626b
Binary files /dev/null and b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..27ba383
--- /dev/null
+++ b/windows/windows_version_info/Windows_7_SP1/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_7_sp1/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..5227a9f
--- /dev/null
+++ b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../Windows_2008_R2_Wine_8.3/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..386b098
Binary files /dev/null and b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..9071ca7
Binary files /dev/null and b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..0434bbc
--- /dev/null
+++ b/windows/windows_version_info/Windows_7_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../Windows_2008_R2_Wine_8.3/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..d979754
--- /dev/null
+++ b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 120000
index 0000000..eabeb03
--- /dev/null
+++ b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOEXA.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOEXA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 120000
index 0000000..2045d86
--- /dev/null
+++ b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOEXW.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOEXW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..f424653
--- /dev/null
+++ b/windows/windows_version_info/Windows_8.1_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../Windows_10_Wine_8.3/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..4a8b059
--- /dev/null
+++ b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../Windows_8.1_Wine_8.3/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 120000
index 0000000..a16ea56
--- /dev/null
+++ b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOEXA.dat
@@ -0,0 +1 @@
+../Windows_8.1_Wine_8.3/OSVERSIONINFOEXA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 120000
index 0000000..d2606b7
--- /dev/null
+++ b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOEXW.dat
@@ -0,0 +1 @@
+../Windows_8.1_Wine_8.3/OSVERSIONINFOEXW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..b0aafa9
--- /dev/null
+++ b/windows/windows_version_info/Windows_8_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../Windows_8.1_Wine_8.3/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..c0dc864
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..cb40e44
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..472e6f0
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..472e3ac
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2019/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOA.dat
new file mode 100644
index 0000000..139d079
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOA.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..5d18f56
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..08bf219
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOW.dat
new file mode 100644
index 0000000..a0d24aa
Binary files /dev/null and b/windows/windows_version_info/Windows_Server_2022/OSVERSIONINFOW.dat differ
diff --git a/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..3091ffb
--- /dev/null
+++ b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../Windows_2008_Wine_8.3/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..b360a7e
Binary files /dev/null and b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..7ed8225
Binary files /dev/null and b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..a42b98c
--- /dev/null
+++ b/windows/windows_version_info/Windows_Vista_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../Windows_2008_Wine_8.3/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..30ee5db
--- /dev/null
+++ b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_XP/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..d58be7a
Binary files /dev/null and b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..67fc37c
Binary files /dev/null and b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..8fba49f
--- /dev/null
+++ b/windows/windows_version_info/Windows_XP_SP3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../ReactOS_Compat_XP/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOA.dat b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOA.dat
new file mode 120000
index 0000000..12ec1f8
--- /dev/null
+++ b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOA.dat
@@ -0,0 +1 @@
+../Windows_2003_Wine_8.3/OSVERSIONINFOA.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOEXA.dat b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOEXA.dat
new file mode 100644
index 0000000..bc8b25c
Binary files /dev/null and b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOEXA.dat differ
diff --git a/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOEXW.dat b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOEXW.dat
new file mode 100644
index 0000000..cddba34
Binary files /dev/null and b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOEXW.dat differ
diff --git a/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOW.dat b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOW.dat
new file mode 120000
index 0000000..f6e4155
--- /dev/null
+++ b/windows/windows_version_info/Windows_XP_Wine_8.3/OSVERSIONINFOW.dat
@@ -0,0 +1 @@
+../Windows_2003_Wine_8.3/OSVERSIONINFOW.dat
\ No newline at end of file
diff --git a/windows/windows_version_info/getOSVERSIONINFOEX.py b/windows/windows_version_info/getOSVERSIONINFOEX.py
new file mode 100644
index 0000000..0f47253
--- /dev/null
+++ b/windows/windows_version_info/getOSVERSIONINFOEX.py
@@ -0,0 +1,70 @@
+import platform
+import typing
+from ctypes import byref, c_char, c_char_p, c_void_p, windll
+from pathlib import Path
+from struct import pack
+
+from wine_get_version import wine_get_version # https://github.com/KOLANICH-libs/wine_get_version.py
+
+__author__ = "KOLANICH"
+__license__ = "Unlicense"
+
+
+GetVersionExA = windll.kernel32.GetVersionExA
+GetVersionExA.argtypes = [c_void_p]
+
+GetVersionExW = windll.kernel32.GetVersionExW
+GetVersionExW.argtypes = [c_void_p]
+
+
+def genPlatformString() -> str:
+ platformVersion = platform.system() + "_" + platform.version()
+ wineVersion = wine_get_version()
+ if wineVersion:
+ platformVersion += "_Wine_" + wineVersion
+ return platformVersion
+
+
+def getVersionInfoForSize(func, size: int) -> bytes:
+ res = bytearray(size)
+ res[:4] = pack("