
Multiple versions of Visual C++ redistributables can be required even within the same app, for example, if an app depending on Visual C++ 2008 redistributable uses a component depending on Visual C++ 2005 redistributable, the app's developer must ship both versions of Visual C++ redistributables. Microsoft also has to support a lot of Visual C++ runtimes because it has no idea which one the app developer would choose. Most apps, however, bind to the latest edition of the same major version, as it is the default behavior and the benefit from immediate and effortless security updates outweighs risks in breaking changes delivered by redistributable updates. It is one way to prevent a few thousands calls from angry customers after Microsoft releases an update to the redistributable. Their authors hold on updating to the latest runtime until they tested their app's compatibility with the new runtime. Some apps are very specific about the version of the Visual C++ dlls they require to make sure the app runs exactly as published. Uninstalling one Visual C++ redistributable could save you a few megabytes of disk space, but you risk breaking some apps in doing so.īecause programmers rely on Microsoft to keep the Visual C++ runtime up to date, Microsoft releases security update for the redistributables, but due to programmer demands, Visual C++ redistributables do not supersede each other and old versions are kept for compatibility. Due to fragmentation in the runtime versions used by the app developers, you would see a long list of Visual C++ redistributables if you install a lot of apps.

sin and cos math functions and handling of common user interface elements like textbox or button). By using Microsoft's well-tested and widely used code inside their apps, developers save their development cost by avoid writing commonly-used code (e.g.


Visual C++ redistributables are components shipped by app developers who use Visual C++ to write their software.
