Missing msvcr71.dll


I use Visual Studio 2010 on Windows 7 32 bits to compile two kinds of executables : some use Root, and some don’t.

When those exes run on other machines, those who don’t use Root work fine, but those that use Root require msvcr71.dll to run (and an error message is displayed when it is missing).

One way to solve that problem would be to copy the required dlls in a PATH directory, but it’s not very convenient.

Is there a way to compile those exes so that the msvcr71.dll (and msvcp71.dll I think) is no longer required when running the executables?

Note: today, I installed the lastest version of Root, that was compiled with Visual 10, hoping that it would solve the problem if both my executables and Root were compiled using the same (or almost) compiler version, but this time, the executables require msvcr100.dll.

Thanks for your help !

Could you simply ship msvcr71.dll/msvcr100.dll with your application in the path where ROOT DLL’s are located (i.e. no need to install to system path)?

I could, that’s my plan B if nothing else is possible.


Those are the dlls of Visual C++, required to run applications developed with Visual C++, and are available here. As they may be required by other applications, it wouldn’t hurt to install them properly on the target computer…

Cheers, Bertrand.

Ok, if there is no way around it, I will put the required dlls in a directory referenced in the PATH variable.

Thank you for your reply. Have a good day !

Well, there is another solution. It is be to rebuild ROOT (and its dependencies) from source with static runtime libraries (changing compilation flags)…

Cheers, Bertrand.

Ah, good to know, I’ll try that. Thanks again !