← Back to context

Comment by TheAceOfHearts

6 hours ago

Looking back on the history of Windows, one of the things that most stands out to me as a user is the utterly insane UX around the C++ redistributable. They really should've figured out a better solution than having every single application ship their own copy along with a separate installer, and then having the installer run always because the developer cannot be sure if it's installed correctly. As I understand it, this might still be a problem with the latest version? If someone like Steve Jobs had been responsible for Windows he would've fought with managers, lawyers, and engineers until the problem was resolved.

This is absolutely baffling that you can't just make an api request and windows deals with installing those redistributables, must have seen that installer pop up close to 80 times in my life. I understand why maybe it was that way pre-internet but really they should have rolled it into windows and made it automatic by now if their dev tools team and windows team can't figure out how to just compile software on their own OS without shipping another bundle beside it.

The newer .msix apps are supposed to be able to handle this, and WinUI3 is supposed to come with a package-dependency that uses the package system to automatically make sure you have the 100+MB library up to date. However, this is the new cool system that nobody uses and doesn't help ordinary devs. They should just ship it in the OS.

  • And has lots of interesting bugs to explore, depending if the application uses only C++, only C#, a mixture of both, is packaged or expanded, ships the language runtimes along the MSIX, or depends on the store for dependencies,...

    Yet another opportunity to submit a few issues on the repos.

> the utterly insane UX around the C++ redistributable

It could be worse—it could be Linux, with no forward compatibility. The VC/C++ redistributable means that applications can be written on modern Windows that targets much older Windows, by simply providing a sidecar installer that brings with it a newer C/C++ standard library. This situation is basically impossible on Linux without messing with Docker.

  • > means that applications can be written on modern Windows that targets much older Windows

    What older windows? Everyone consumer (who are all on forced updates) has to deal with this for the benefit of the small minority on older versions of windows which are probably systems you're not installing new software on anyway.