TheVisual 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.
Hello everyone, I tried to install wireshark with windows x64 but i've got the following error :"wireshark error the visual c++ redistributable installer failed with error 5. Unable to continue installation. "
I'm trying to get the MS Visual C++ 2012 Redistributable installed on my machine. A game requires it. I'm running Windows 8.1. I tried a few different redist versions earlier today, and each worked. I've uninstalled/repaired/and installed with a few different versions. It just turns out that they were incompatible versions.
Anyways, I tried the installing the most recent (2015), but ended up closing the installer while it was in the middle of doing something. Windows now thinks that the MS VC++ 2015 Redist. package is installed, but I know it's not, because I closed it out mid-install.
I can't uninstall, I can't repair, and I can't run any other version of the installer. It just hangs there, and there's no way around it. I've tried using alternative 3rd-party app uninstallers, and they all just bring up the redist installation program. I ended up finding a package cache directory for it with a long hash for the filename, and I deleted its contents to no avail. I've rebooted dozens of times, and killed numerous processes that seem attached to the installer.
I want my installer to install visual c++ redistributable 2015 with my application. I've downloaded the vc_redist.x86.exe file, included it in my project, and I'm trying to do the install as a custom action on "install". I am launching with the arguments /install /passive /norestart.
In Visual Studio setup projects you're supposed to use the Prerequisites feature. Right-click the setup project in Solution Explorer, choose Properties, then Prerequisites. This will build a setup.exe to install prerequisites followed by your MSI file. As far as I can tell, the Microsoft Visual C++ 14 is the Visual Studio 2015 runtimes.
Alternatively try the prerequisites section below first (select the "Visual Studio 14" entries for install) or try the merge modules available (section below). Please pay attention to the disclaimers for the merge modules.
Logging & Mutex: What does the log file say? From a technical point of view the usual problem is that you can not install another MSI package from within your own running MSI setup due to technical runtime restrictions. A mutex is set to prevent several MSI installation transactions to happen at once. Check the logs. This redistributable is MSI-based I believe - so you will see this problem when running the EXE from a custom action like you do.
Deployment Tools: Visual Studio Installer Projects are very limited, and it seems most people migrate away from them to another deployment tool over time. Maybe have a look here - and here is a list of tools. WiX's Burn feature (bootstrapper / downloader / sequencer) can achieve what you need. Also read PhilDW's answer here.
Prerequisites: Visual Studio Installer Projects do have a prerequisites view (click the Prerequisites... button) where a limited number of prerequisites can be defined for installation via the setup.exe bootstrapper (not kicked off from within your MSI itself, but from its bootstrapper setup.exe - this means you don't kick off the install from within your own MSI, but before it starts to install - and it can hence work correctly). I am not sure if the entries for "Visual Studio 14" are for the runtime version you need. You could give it a try I suppose.
Merge Modules: There are merge modules to install the Visual Studio Runtime (see here, section "Visual C++ Runtime" - quite a bit down the page), but they seem inadequate these days for reasons explained here (very important). Essentially the Visual Studio Runtime is more complicated from 2015 onwards - and the EXE installer is preferred. Must read link - please. In order to locate relevant merge modules, please search for *.msm files underneath %ProgramFiles(x86)% - if you have Visual Studio (and / or the Windows SDK) installed. Merge modules can be installed embedded in your own package without the need for a setup.exe launcher. In Visual Studio, right click your installer project, Add, then Merge Module...
However, the redistributable's installer isn't perfect. Some of my users have reported that the redistributable installer hangs, or it fails to install when it says it does, and then users get the "This program can't start because MSVCP140.dll is missing from your computer" error.
To deploy redistributable Visual C++ files, you can use the Visual C++ Redistributable Packages (VCRedist_x86.exe, VCRedist_x64.exe, or VCRedist_arm.exe) that are included in Visual Studio. ... It's also possible to directly install redistributable Visual C++ DLLs in the application local folder, which is the folder that contains your executable application file. For servicing reasons, we do not recommend that you use this installation location.
There are 4 files in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT. Does that mean I just need to copy them to my application's directory during the install process?
Using merge modules it is a much cleaner option than manually adding the files. The files can be deleted accidentally by another colleague which does not know why they are there, or one of them might not get installed, etc...
My C++ application needs to install the Visual Studio C++ redistributable. I'm using Visual Studio 2019 Community edition. I use NSIS (version 3.04) to create my install program. Should I try to detect if the redist is installed and only install it if it is not up to date?
There are a melange of answers about how to do this, including many methods of how to detect if the redist is installed. I'm not going to say that all of them are incomplete and don't work in a future proof method, but I have not had success with them. So, I think the best thing to do is just install the redist always and let Microsoft take care of it. As of March 2020 this will add 14MB to your installer program, but maybe in this age of high speed Internet that isn't the big deal it once was. Luckily this is quite simple, and hopefully this question will keep you from following all the dated references and links that I did.
The version number is definitely subject to change (14.25.28508) in the future, likely just when you install updates to Visual Studio, so remember that you'll need to update that path when your install program breaks. You'll also need to choose between vcredist_x86.exe and vcredist_x64.exe depending on whether your build your application as 32-bit or 64-bit.
Add a section like this to your NSIS install file, probably before you do the main installation. All it does is copy the redist file into the filesystem, run it, wait for completion, then delete the redist file.
I agree with gdunbar that detection methods are both complex and not so reliable, good summary of such methods is in this thread: Detect if Visual C++ Redistributable for Visual Studio 2012 is installedHowever I didn't want to always include the VC redist in the installer, as it significantly increase installer size (e.g. VC++ 2019 redistributable is 24Mb, while my installer without it was 1Mb). So I ended up using what I think is quite reliable method of trying to run the executable, and downloading installer on the fly if needed. Below the details for VC++ 2019 redistributable:
3a8082e126