Do we still need to bother with vcredist.exe when distributing windows native applications ? Does any of these come bundled with Win-7 ?
If not, are there any technical reasons these are not shipped to people via e.g. windows update - insteadof letting us burden the customers with yet-another-thing-that.must-work ? (Ok, that might sound argumentative, but I'm really wondering the reason these libraries are not default installed/updated on windows machines)
I think it depends how / what you're linked to. If you're linked directly to kernel32.dll etc then it doesn't matter, of course (i.e. the c runtime library is embedded), but Microsoft don't recommend that method of distribution.
If you're linked through msvcr80/90/whatever 2010 is.dll, then you may need to distribute that runtime library as on XP it doesn't come as standard. msvcr80 comes on Vista but msvcr90 doesn't I don't think - although it might get added by windows update. Still, you can't rely on it being there therefore the failsafe is to have a copy of it just in case.
As far as I know msvcrt.dll (that mingw links to) is distributed with everything > xp. Does vc6 link to this? I didn't have VC++ back then.
Take a look at the executable with depends.exe
from the Windows SDK and work out what it comes with above and beyond parts of the Windows API.