Basic questions about VC runtimes and compatibility

I have read now for a while about VC runtimes but did not found a satisfying answer for the following questions:

1.) If I run a 32bit program (which needs a VC runtime) on a 64bit WinOS (Win7 or Win10): Do I need the 32bit VC runtime or the 64bit Runtime or both?

2.) Are there (especially older) cumulative VC Runtimes which contain all the stuff from previous VC Runtimes?

Assume I program requires the VC80.MFC Assembly win32 version 8.0.50727
So that means from my point of view: At least an installed vcredist2008 is required. Or does vcredist2010 fit as well?

3.) Assume I have a program EXE. How do I find out exactly which VC Runtime it requires? Is there in inspection tool which can peek into the (binary) code or header and find it out?

4.) What is the difference between a "Redistributable" package and a a"Runtime"?

Thank you
Peter
When you talk about 'runtime' you presumably talk about a dll. The system will load the dll that matches the requirements. It does not care for version.

You can avoid this dll when the runtime library is linked statically. See:

https://helloacm.com/how-to-static-link-vc-runtime-in-visual-c/

Assume I program requires the VC80.MFC Assembly win32 version 8.0.50727
C++ does not need any assemblies...
Topic archived. No new replies allowed.