The Visual C++ Redistributable installs Microsoft C and C++ (MSVC) runtime libraries. Many applications built using Microsoft C and C++ tools require these libraries. If your app uses those libraries, a Microsoft Visual C++ Redistributable package must be installed on the target system before you install your app. The Redistributable package architecture must match your app's target architecture. The Redistributable version must be at least as recent as the MSVC build toolset used to build your app. We recommend you use the latest Redistributable available for your version of Visual Studio, with some exceptions noted later in this article.
Unlike older versions of Visual Studio, which have infrequent redist updates, the version number isn't listed in the following table for Visual Studio 2015-2022 because the redist is updated frequently. To find the version number of the latest redist, download the redist you're interested in using one of the following links. Then, look at its properties using Windows File Explorer. In the Details pane, the File version contains the version of the redist.
Some of the downloads that are mentioned in this article are currently available on my.visualstudio.com. Log in using a Visual Studio Subscription account so that you can access the download links. If you're asked for credentials, use your existing Visual Studio subscription account. Or, create a free account by choosing the No account? Create one! link.
Visual Studio versions since Visual Studio 2015 share the same Redistributable files. For example, any apps built by the Visual Studio 2015, 2017, 2019, or 2022 toolsets can use the latest Microsoft Visual C++ Redistributable. However, the version of the Microsoft Visual C++ Redistributable installed on the machine must be the same or higher than the version of the Visual C++ toolset used to create your application. For more information about which version of the Redistributable to install, see Determining which DLLs to redistribute. For more information about binary compatibility, see C++ binary compatibility between Visual Studio versions.
These links download the latest available en-US Microsoft Visual C++ Redistributable packages for Visual Studio 2013.You can download other versions and languages from Update for Visual C++ 2013 Redistributable Package or from my.visualstudio.com.
These links download the latest available en-US Microsoft Visual C++ Redistributable packages for Visual Studio 2012 Update 4. You can download other versions and languages from Microsoft Visual C++ Redistributable Packages for Visual Studio 2012 Update 4 or from my.visualstudio.com.
If the code compiled by a visual C++ compiler is straight C++, why do you need a redistributable package? Does this make your code platform dependant? Does using the visual C++ compiler with the redistributable package provide any advantage over using another IDE along with g++?
The code is not platform dependent, the resulting executable is. It is linked against the MS libraries with the standard library implementation, that are included in the redistributable as DLL's.
IIRC there should be an option for static linking of everything, so that you wouldn't need the additional redistributable, but the resulting binary would still be platform dependent - for example you can't run a windows binary on a UNIX system (without WINE at least).
There is no such thing as "Straight C++". There will always be some library functions that you are calling here and there in your code, and even if you are very careful not to, there will be some functions that will need to be called simply by code emitted by the compiler. For example if you have the following loop:
This does not make your code platform dependant, because on a different platform the compiler of that plafrom will compile the same code of yours to go with whatever is the C++ runtime for that platform.
Luckily, the C++ runtime does not have to be a separate entity from your application. Check your compiler and linker options; you should be able to produce a single executable which contains both. If you have found that g++ does not require a separate runtime, it is because it does exactly that by default.
The C++ redistributable are specific to the IDE that you are using ("IDE" I say, but that's really specific to the compiler, yet the IDE & compiler are both being assigned new versions as things move along.)
It is made specific to that IDE, but not to the Win OS. So it should be backward compatible (assuming you're not using new APIs, obviously.) Actually, this is done so it is backward compatible (and not the other way around as you're thinking.) This allows you to use the latest greatest IDE version (10, 11, 12...) and still run your code on Win2k!
I always keep a copy of Visual C++ 6 installed on a xp Virtual Machine (Wont work properly in Win 6/7/8). Sometimes I write or am asked to write an utility app for doing something fast and/or once off that I compile as a single exe. I got sick of sending a simple program written using only the std lib to someone else only for them to tell me that it doesn't work because of some missing dll or re-distributable pack.
After a few web searches I gathered these files were parts of the Visual C++ redistributable for Visual Studio 2015. Many sites advised me to download and install the said Visual C++ redistributable, which I did. But the problem persists. So, I uninstalled 5.4 and went back and installed 5.3.5.
Alright, My windows server 2016, is updated with last version of Microsoft Visual C++, and I uninstall and install again couple times, and nothing, same error again and again, Portal and DataStore same.
It's necessary stop all arcgis process and services running on Server, after that, system allows to unistall older version from microsoft visual c++ property, and install a newer version, after that, setup.exe from portal, server and datastore runs fine
Ran into this issue during a production update today. Ours is a 3 machine cluster and we hit the snag right out of the gate. We tried everything but to no avail. The arcgis msi fails to recognize the c++ redistributables on the server. We installed and reinstalled them. Removed registry keys associated with it. Reinstalled. Nothing. So frustrating
Try to restore your server to previous starting upgrade process, stop all arcgis services like server, portal and datastore, open windows task manager and kill every arcgis process, after that download the last version of vc++ from microsoft site (last version 2022) and run stetup, it will remove previous vc++ version and install newer.
No luck, unfortunately. We had to rebuild all the VMs and reinstall ArcGIS 10.7.1 on them. Seems that something corrupted on them. It even prevented the servers from getting updated versions of VMWare Management tools. Very strange. I attempted all your methods but it did not pan out. Thank you for the prompt reply! Appreciate it.
Unfortunately, the only thing that worked for us was taking each machine out of the site, wiping the VM and reinitiating a new VM, then install ArcGIS 10.7.1, join the site again, and then upgrade that machine to 10.9.1. Having done that, we removed the other two machines, wiped them away, and re-initiated them, and installed 10.9.1, and then have them join the first machine and its now upgraded site.
Every time I install a game, or even OpenOffice, part of the installation routine is installing yet another Visual C++ 2005/2008 redistributable, right next to the 10 others I already have on my system.
Visual C++ redistributables are components shipped by app developers who use Visual C++ to write their software. 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. sin and cos math functions and handling of common user interface elements like textbox or button). 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. Uninstalling one Visual C++ redistributable could save you a few megabytes of disk space, but you risk breaking some apps in doing so.
Because 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. Some apps are very specific about the version of the Visual C++ dlls they require to make sure the app runs exactly as published. Their authors hold on updating to the latest runtime until they tested their app's compatibility with the new runtime. It is one way to prevent a few thousands calls from angry customers after Microsoft releases an update to the redistributable. 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.
You can probably find the app installing a redistributable by looking for an app with the same install date as the redistributable, but there is no telling how many other apps with a later install date are depending on the same redistributable. The amount of time you spend on finding the exact dependency would most likely not worth the few megabytes you may save by uninstalling the redistributables.
The reason is that they are not same thing. First you need to understand that every version of MSVC++ ships with its own version of runtime libraries. There are also 32 and 64 bit versions. Also, there are service packs bring updated versions of runtime libraries.
c80f0f1006