2

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.
Bill Heitler
  • 113
  • 1
  • 12
  • ***Although my code is compiled using VS2017, I have to include an external DLL that I suspect dates back to about 2010.*** This could be a serious problem. Visual Studio 2017 is only compatible with VS 2015. No other version of Visual Studio is compatible. Be sure to isolate the memory allocations across the dll boundary. And don't use the standard library in any dll interface. – drescherjm Oct 25 '18 at 13:39
  • Not really, depends on how it was written. If allocation and deallocation are done properly inside the library, no problem. – Matthieu Brucher Oct 25 '18 at 13:41

1 Answers1

4
  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.

Jabberwocky
  • 40,411
  • 16
  • 50
  • 92
Matthieu Brucher
  • 19,950
  • 6
  • 30
  • 49