En dehors du fait qu'il y ait beaucoup de "code hérité" (comme le soulignent d'autres réponses), il y a une raison beaucoup plus directe pour de nombreux projets : les dépendances.
La DLL d'exécution pour Visual Studio 6 est livrée sur presque tous les PC remontant à quelque chose comme Windows 98. C'est la seule bibliothèque d'exécution sur laquelle vous pouvez compter d'être installée sur le système de l'utilisateur, ce qui signifie que vous n'avez pas nécessairement besoin de livrer la DLL d'exécution avec votre application. Il suffit de copier le fichier exécutable, cela devrait être suffisant (autres problèmes d'installation mis à part).
Si vous utilisez Visual C++ 2008, vous devez vous soucier de livrer la version correcte de MSVCR90.DLL
, MSVCP90.DLL
(et potentiellement beaucoup plus), et d'installer correctement les DLL en utilisant le mécanisme côte-à-côte (ce qui signifie généralement construire un installateur msi
).
Je connais au moins un plugin de navigateur qui repose sur cela pour éviter de devoir télécharger la bibliothèque d'exécution sur la machine de l'utilisateur, ce qui doublerait effectivement la taille de la distribution.
TL;DR ? C'est plus simple !