Why doesn't Microsoft ship all the libraries with Windows or updates?
I've just tried to open a project in freshly Visual Studio 2019 on another Windows 10 machine with all the updates installed... and it asked me to manually install .Net Framework 4.8 or downgrade the project to 4.6. This reminded me I have always been wondering why did we always have to install all these VisualC++ "redistributables", common controls, MDAC, MSXML, DirectX and all sorts of things like that? Why wouldn't MS just bundle all they have with Windows and then push all the missing/updated ones through Windows Update as they arrive? What's the motivation behind this policy?
Because the number of libraries is infinite, and some receive bug/security updates. If you pre-installed hundreds of them, you're now also patching hundreds of them and the community is already pretty unhappy with the status quo of Windows Update/installation size/bloat.
Windows avoids "DLL Hell" by installing multiple versions of libraries to support different applications.
If they were "disciplined" and forced everybody to link against the latest libraries, binary compatibility would be worse.