und aus dem Chaos kam eine Stimme, und die Stimme sprach zu mir
"Lächle und sei fröhlich, denn es könnte schlimmer kommen."
und ich lächelte und war fröhlich
und es kam schlimmer.

On The Old New Thing we are taught that Windows is not a .NET Framework delivery channel.
I have no problem with this, seems reasonable that the operating system is separated from the rest of the stuff, but in fact, this is nothing Windows is known for. In ancient times, Windows used to be just a graphical user interface, and even in the times of Windows 98 it is arguable whether it should really be considered as an operating system rather than as a desktop environment hooking on a DOS kernel. Even if one accepts that the strict separation of frontends and backends is something special to *n*x, while Windows is optimized for the stupid end user who is not interested in how his software works, still Windows 98 had the Internet Explorer and a JVM installed by default. And actually, that was one thing I liked, since I could write software for my friends without them having to install a lot of runtimes and stuff.

And at least under Windows, this has not really changed - when I write software for Windows, then I am trying to make it independent of as much as possible, or if I really have to add dependencies, I will try to make the software work inside Cygwin, which has a packaging system.

This is only true for Windows. In fact, for Linux, it is much easier, since most Linux distributions have a package manager for which I can simply supply a package that has the correct dependencies (as most larger environments are usually part of a distribution). Upgrades and version compatibility are managed automatically by the package manager.

On Windows, there seems to be a central package management (I think I have read about one in the past, but I cannot remember where), but I do not know whether it is only available to parts of the system, at least no other software I know uses it: Most software checks for updates when started. Some software even has background processes getting on my nerves (like the JVM).

Maybe that is due to the fact that commercial software likes message boxes blobbing onto your screen, telling you what software you use and why, even though that gets on your nerves - in the end, the user is there to pay money, his contentedness is just one way to make him do so, and advertising is another.