You might ask, why would I want to do that…ever? Well, it may become more clear in my next post, so bear with me.
It turns out I wasn’t able to find a download location for the VC 7.1 runtime. Maybe I didn’t look hard enough, whatever. What I did find was a DST update for the Visual C++ .NET 2003 Service Pack 1 C Runtime. It turns out that they kind of…include the whole runtime in there. Usually all you need is msvcr71.dll. Some websites will tell you to download it from some shady website…I wasn’t keen on that.
So you can start by downloading the DST update from here. Save that .exe to a local folder.
When you run it, you’ll be unhappy to learn that it won’t actually install the runtime since it will expect you to have the runtime already installed, because after all this is just an update to the runtime. Ok, fine, maybe I can work around the installer being a smartass. From a command line, run
This will extract the auto-extractable .exe into a subfolder called VS71. Actually, all this did is create a .msp file in the VS71 folder. “Dude, you said you were going to get me msvcr71.dll, where is it already!?”. Dude, chill, I’m getting there.
For the next step you will need to cause the .msp file to explode. Apparently it’s some sort of MSI package, I don’t know. I found this utility which is supposed to explode msp packages:
msix M9322981102.msp /out msp
That will give you a whole bunch of files with weird names, among which a 13 have “msvcr” in their name:
I had no idea whether these files were the actual DLLs or not, so I looked at them in notepad and saw the familiar MZ header. So at least I know they are PE-header files. So I just picked the one highlighted and copied/renamed it to msvcr71.dll next to the app that required it. It’s probably better, in hindsight, to copy the _10_ version.
Anyway, that’s how you get msvcr71.dll “installed” on Windows 7.