This is a transcript of a recent conversation in this office. Names have been changed to protect the innocent and the confused.
Jeb: I’m installing an application on my computer.
Jeb: It says I need to install the latest Visual C++ Runtime Libraries.
Jeb: What is Visual C++?
Seb: It’s a program used to develop applications, in C++. C++ is a programming language.
Jeb: But I don’t want to install that. I just want my new application to work. Why is life complicated?
Seb: It means that your new application was developed using Visual C++. You just need to install the runtime software in order to make it run on your computer.
Jeb: How much will that cost me?
Seb: Nothing, it’s free. You can get it from here.
Jeb: Why doesn’t it just install with the application?
Seb. Normally it does, but you can do it yourself in a minute or less.
Jeb: I never used to have to do this? What’s changed?
Seb: Do you want the long technical version or the short one?
Jeb: I don’t do long technical.
Seb: OK. Windows applications used to ship without the need to do that. They included all the software bits of Windows that they needed to do everything.
Jeb: Sounds simpler.
Seb: It was but not good. Most applications today instead just hook up to the Visual C++ runtime component that you install (normally it’s just installed when you install your new application). They don’t need to carry a load of Windows code with them.
Jeb: Why do they do that?
Seb: Well, if a security flaw or a bug shows up in Windows, Microsoft just update that runtime component, when you run Windows Update.
Jeb: My PC does that every morning at 3AM.
Seb: Most do. When the C++ runtime is updated, it also fixes the flaw or bug in your application, with no need to update the application. As if by magic.
Jeb: I see. So if it didn’t use the runtime I’d be stuck with a bugged version of my application until the people who created it could update it.
Seb: Assuming they did.
Jeb: The runtime is installed. Time to play.
Seb: My decade is complete.