Le problème a été discuté sur les forums de Steam. Le problème est que chaque jeu doit avoir une version binaire identique des redistribuables vc++. Comme les jeux se lient à différentes versions de ces bibliothèques, Steam les installe toujours la première fois en tant que protection.
Crédit à mordi2k pour avoir trouvé le post
Voici un lien vers l'article de support de Steam à ce sujet (le post du forum n'est plus disponible). Le texte est cité ci-dessous.
Pourquoi DirectX s'installe-t-il avec chaque jeu?
Lancer l'installateur DirectX ne vise pas à s'assurer que votre installation globale de DirectX est à jour. Microsoft a une bibliothèque d'aide avec D3D appelée D3DX. Vous trouverez des binaires pour cela, comme d3dx9_43.dll, dans votre dossier Windows\system32. Il existe plus de 40 versions différentes de la bibliothèque D3DX pour D3D9 seul, et beaucoup plus pour D3D10 et 11 également. Chaque jeu qui utilise la bibliothèque d'aide D3DX est lié à une version spécifique. Ainsi, le jeu doit exécuter la version correcte de l'installateur D3D avec laquelle il a été spécifiquement compilé pour garantir que les binaires existent.
Même si une version ultérieure du binaire est déjà installée, cette version ne peut pas être utilisée, et même si votre installation DirectX est à jour parce que vous avez exécuté une version plus récente de l'installateur, cela ne garantit pas avoir installé toutes les versions précédentes. Qui plus est, si une version est installée pour x86, cela ne garantit pas que la même version est installée pour x64, donc les jeux 64 bits et 32 bits peuvent avoir à exécuter la même version exacte de l'installateur mais en ciblant des plates-formes différentes lors de l'exécution.
De plus, les termes de licence de Microsoft empêchent quiconque de distribuer directement les fichiers, la seule façon de les distribuer est d'exécuter l'installateur, c'est aussi la seule méthode supportée par Microsoft pour vérifier que la bonne version est installée. Essayer de vérifier manuellement les bonnes versions est extrêmement compliqué car il y a de nombreux fichiers qui doivent tous être présents et les options de configuration système individuelles comme les chemins de recherche de dll compliquent la situation. De plus, les dépendances et les vérifications requises peuvent changer dans chaque nouvelle version du runtime D3DX. Le code pour vérifier correctement et réparer les installations défectueuses existe dans l'installateur et l'exécuter garantit que les binaires corrects existeront lorsque vous exécutez le jeu et empêche de nombreux cas où un jeu échouerait à démarrer avec une erreur obscure si une installation de Windows manquait de la bonne version ou était d'une manière ou d'une autre corrompue dans le passé.
Pourquoi les jeux Source Engine de Valve ne lancent-ils pas l'installateur DirectX?
Les jeux qui n'utilisent pas les aides D3DX (comme les jeux Source engine) n'ont pas besoin d'exécuter l'installateur au premier lancement car ils dépendent uniquement des versions majeures de d3d9/10/11 installées. Cependant, les jeux qui utilisent D3DX doivent l'exécuter car c'est la seule façon autorisée par Microsoft de distribuer et de vérifier les informations de version des fichiers.