Ask HN: Why doesn't Microsoft ship all the libraries with Windows or updates?

2 points by qwerty456127 ↗ HN
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?

3 comments

[ 3.9 ms ] story [ 18.7 ms ] thread
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.

That doesn't explain why they don't include everything by default. If size is a problem (too many versions of too many DLLs) then they should at least provide one version of every DLL, probably the most recent since they tend not to remove functionality.
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.