Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio 11 and handling msvcr110.dll

I decided to try out Visual Studio 11, concluded that I don't like it and uninstalled it promptly. It seems quite a few of my old projects now crash with the following error.

The program can't start because MSVCR110D.dll is missing from your computer. Try reinstalling the program to fix this problem.

Unfortunately my understanding of the problem ends here, the solutions I've come across seem to suggest to change the runtime library to Multi-Threaded which results in even more errors that I don't have the knowledge or patience to deal with.

In short the question would be, how can I undo the changes Visual Studio 11 made, whatever they are.

like image 708
ConcernedMan Avatar asked May 06 '12 20:05

ConcernedMan


3 Answers

As the comment by Hans Passant says, Microsoft does not permit the debug dll to be redistributable; they are only available when Visual Studio is installed.

Even if you are able to rebuild your projects as release builds, you may get a new problem on machines when you try to run the projects, namely, missing mvcr110.dll.

In this case, and Visual Studio need not be installed, you can get the missing dll from Microsoft. Microsoft provides downloadable installers for these redistributable dll at:

http://www.microsoft.com/en-us/download/details.aspx?id=30679

Run the appropriate installers.

VSU3\vcredist_arm.exe , VSU3\vcredist_x64.exe , VSU3\vcredist_x86.exe

like image 64
subsci Avatar answered Nov 12 '22 13:11

subsci


You need to downgrade the "Platfrom Toolset" property for each of your projects from v110 to v100(or v90).

To change the project toolset In Visual Studio, in Solution Explorer, open the shortcut menu for your project and then choose Properties.

In the Property Pages dialog box, open the Configuration drop-down list and then select All Configurations.

In the left pane of the dialog box, expand Configuration Properties and then select General.

In the right pane, select Platform Toolset and then select the toolset you want from the drop-down list. For example, if you want to compile with the Visual Studio 2010 toolset, select Visual Studio 2010 (v100).

Choose the OK button.

like image 4
Karthik Avatar answered Nov 12 '22 13:11

Karthik


That one is a DLL from Microsoft VS 2011/2 qutoing from http://www.rhyous.com (it talks about msvcrt100.dll but it's the same principle):

"This msvcr100.dll is the Microsoft Visual C++ Redistributable dll that is needed for projects built with Visual Studio 2010. The dll letters spell this out. MS = Microsoft, V = Visual, C = C program language, R = Run-time, 100 = Version "

If you create a C++ project in Visual Studio 2010, this file is probably needed. you need to install the MS redistributable, but seems it's not yet available see this thread - http://social.msdn.microsoft.com/Forums/en-US/parallelcppnative/thread/8963c3d9-26ec-4748-af95-7c696a27c431

I would guess that your compiler is still the VS2011 one, that's why your program depends on vs2011 DLLs..

like image 3
Yonyon Avatar answered Nov 12 '22 14:11

Yonyon