c++mfcversionbackwards-compatibilityredistributable

Which version(s) of the redistributables do I need to distribute?


Two related questions:

  1. I have a 32-bit MFC program that I wish to distribute, and I want it to run under either 32- or 64-bit Windows. Can I include just the x86 redistributable because my program is 32-bit, or do I need to include both the x86 and x64 redistributables because the user machine could be running either 32- or 64-bit Windows?
  2. Although my code is compiled using VS2017, I have to include an external DLL that I suspect dates back to about 2010. Do I need to include the resdistributables from older versions of VS, or does the latest version include all the previous ones? Specifically, a user reports that my app fails to run with the message "msvcp110.dll is missing" after installing my application (which includes the VS2017 x86 redistributable). Thanks for any help. I wish I had access to a clean Windows machine to try things out on, but I don't.

Solution

    1. You just need the 32bits redistributable. They work fine on a 64bits box, it's not the same as executing 64bits code which requires a 64bits CPU.

    2. If this DLL requires a redistributable, you need to ship it as well. VS2017 is only supports VS2015 redistributables, not the ones before that one. For VC110, that seems to be VS2012.