Our software depends on Visual C++ Redistributable 2012, what's the recommended way to ask user to install it?

I can think of the following options:
A. provide a link to Visual C++ Redistributable 2012 and ask user to download before downloading/installing our software
B. In our software installer (using Inno), call the Visual C++ Redistributable 2012 installer.

2 Answers 2


The question you should ask yourself is what is the best for your users ?
Short answer : your installer should do it.

This install is safe, it won't install twice, it won't erase a newer version, it won't remove microsoft hotfixes.
The other way is to redistribute only the needed Microsoft DLL in the same directory as to your exe. It's easy but your program would not use the updated security fixes if microsoft issue a hotfixe for those redistributables dlls.

  • But suppose the user already has it installed, the installer will ask to uninstall
    – AZ.
    Commented Jan 6, 2014 at 17:07
  • 2
    @AZ., are you sure your installer is asking to uninstall? Many installers check for dependencies and will only nag the user if something is not found. Commented Jan 6, 2014 at 17:33
  • @AZ. This Library is made to be redistributable. You can make it quiet. Even the vcredistrib.exe is fully automatable by command line. Launch it with /? to see the list of commands
    – ColdCat
    Commented Jan 6, 2014 at 19:53
  • @EvilClosetMonkey Yes I'm pretty sure. I was just testing in XP, it it's installed, the installer pops up asking for Repair, Uninstall and Close
    – AZ.
    Commented Jan 6, 2014 at 20:02

There is already a precedent for installing these sorts of things on behalf of your user. Think about other similar scenarios users are already familiar with - .NET run time library dependencies or ActiveX library dependencies. You see those pretty frequently along with prompts or a pop-up telling the user that they're being installed in addition to the software they actually want to install.

So, I agree with ColdCat with some more UXy reasons in there. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.