Earlier quoted context omitted.
This behavior is such normal for all the apps (especially games) that at one point I thought it was a specification.
The problem in Windows' case is that there never was a clear specification regarding what kinds of files should go where. The directory structure and environment in every version of Windows is a little different, and it's hard to write an app (or an installer) that does the right thing on all of them.
https://docs.microsoft.com/en-us/archive/blogs/patricka/wher...
https://docs.microsoft.com/en-us/windows/win32/shell/csidl
.NET has its own set which is also very old and goes back to .NET 1.0 (as old as Win98) https://docs.microsoft.com/en-us/dotnet/api/system.environme...