Where is the redistributable C runtime?

Keywords: MSVCR80.dll, Microsoft.VC80.CRT

According to the documentation, the redistributable components of the runtime are supposed to exist in the VC/redist/x86/ directory.  See the "Deploy using xcopy" MSDN article.

This directory doesn't exist in the VC++ 2005 express install.  Further, the redist.txt file mentions a vcredist_x86.exe which does not exist.

Where are the redistributable components

I am compiling a DLL for use as a plugin for 3rd party software.  It works on the build host.  On another machine, I have tried copying the CRT DLL's out of the WINDOWS/WinSxS directory and creating a private assembly.  This doesn't work.  I've tried putting the necessary DLL's in the same directory as my DLL and I get the infamous "R6034, an application has made an attempt to load the C runtime library incorrectly" error.

The documentation and/or the VC++ EE install should be updated to indicate what is required here.

 



Answer this question

Where is the redistributable C runtime?

  • Pedro A. Rico

    Not true. It is there in a Visual Studio Standard/Professional/Team system installation, which leads us to believe that it is part of the .NET framework SDK.

    But if you took a closer look at the .Net Framework SDK itself, you will see it is not there. This was covered in the mr hankey thread.



  • thebeek

    vcredist_x86.exe is also available via the .NET 2 SDK and is in:

    C:\Program Files\Microsoft.NET\SDK\v2.0\Bootstrapper\Packages\vcredist_x86


  • zhaounknown

    Installing the CRTs is a lot tougher in C++ Express (without using the .NET framework as your "umbrella" install). You have to make your own version of vcredist.msi, by using the MSMs provided somewhere in your Common Files directory (you need to use a 3rd party MSI compiler, like WiX or Installshield).

    If you're going to use WiX, details are provided in Nikola Dudar's blog, and also this article on Codeproject (which also goes into detail how to recreate the redist directory for express, allowing you to create a private assembly).



  • captain_semtex

    Thanks for the response.  That was the conclusion I reached after much research.

    I find it incredibly annoying that the documentation for VC++ EE claims to support CRT, STL and .NET, but apparently only .NET targeted programs are readily distributed.

    However, the above mentioned blog article is very good.  I had ran across his previous beta method article, which apparently doesn't work with the release versions of 2005 EE.

    Update: the easiest solution to this problem is to do a web search for vcredist_x86.exe.  Several individuals have made this available for download.


  • gigadude

    Well it definitely IS on that path I gave! .. however ..

    I installed in this order:

    (1) .NET Framework 2 SDK

    (2) VS 2005 Pro

    and vcredist_x86.exe is definitely NOT under the path:

    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\ ..

    so perhaps install of VS 2005 Pro already knew about the preinstalled .NET 2 sdk and didn't install again.

    For other comments on vcredist_x85.exe see this thread:

    http://groups.google.com/group/microsoft.public.vsnet.general/browse_thread/thread/db9cadd0a804533e/a82c3f910012c10f


  • Where is the redistributable C runtime?