InnoSetup : ajouter les DLL Visual C++

Si vous développez à l’aide de Microsoft Visual Studio, vos programmes nécessitent, pour fonctionner sur une machine quelconque, de diposer des bibliothèques suivantes (DLL de VC++ 2008) :

  • mfc90.dll
  • msvcr90.dll
  • msvcp90.dll
  • atl90.dll
  • vcomp.dll
L’absence des ces librairies est un cas fréquent de non fonctionnement des programmes développés par vos soins, le syptôme est alors l’apparition d’un message du type : « Cette application n’a pas pu démarrer car la configuration de l’application est incorrecte. Réinstaller l’application pourrait résoudre ce problème.« .

 

La solution est d’installer le package de DLL « Microsoft Visual C++ 2008 Redistribuable Package » (téléchargeable sur le site de Microsoft : vcredist_x86.exe ou vcredist_x64.exe pour la version 64 bits).
Mais voila, si vous distribuez vos applications avec un installeur comme Inno Setup, cela impose à vos utilisateurs de télécharger ce package de DLL en sus, avec le risque qu’ils passent à coté et qu’il ne parviennent donc pas à lancer votre application.
La solution la plus simple est donc d’intégrer vcredist dans l’installeur InnoSetup de façon à ce que son installation soit automatique et transparente pour vos utilisateurs. Voici comment procéder :
  1. Téléchargez vcredist_x86.exe sur le site de Microsoft (voir lien plus haut) et enregistrez le dans un sous dossier ./bin/ de votre projet
  2. Ouvrez votre projet Inno Setup (je suppose ici que celui-ci est d’hors et déjà créé et que l’emplacement des autres fichiers de votre projet sont déjà renseignés)
  3. Dans la section [files] de votre projet, ajoutez ceci :
    Source: "{src}binvcredist_x86.exe"; DestDir: "{app}bin"; Flags: deleteafterinstall
  4. Dans la section [Run], ajoutez :
    Filename: "{app}binvcredist_x86.exe"; Parameters: "/q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; WorkingDir: "{app}bin"; StatusMsg: Installing VCREDIST...
Il faudra bien sur adapter ces commandes si vous intégrez la version 64 bits.
Vous devriez également pouvoir inclure les 2 versions (32 et 64 bits) en jouant avec les options et conditions disponibles dans InnoSetup.

 

Grâce à cette technique, l’installation se fera de façon totallement transparente, l’utilisateur n’ayant même pas besoin de valider les différentes étapes de l’installer du package Visual Studio VC++ Redistribuable (il voit juste une barre de progression qui se remplit sans poser de questions).

 

Note : ce billet traite plus particulièrement de la version 2008 de Visual Studio (celle que j’utilise), mais cette astuce est transposable telle qu’elle pour les autres versions de VS (je pense notamment aux versions 2005 et 2010), il suffit de télécharger les pack vcredist correspondants à ces versions sur le site de Microsoft.

Tags: , , , , ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *