Extraire des fichiers d'un installeur .msi

J'ai eu récemment le besoin d'extraire des fichiers d'une archive .msi (Microsoft Installer) sans installer le logiciel correspondant (il ne me fallait qu'un fichier en particulier). Après avoir fait quelques recherches, voici ce qu'il en résulte.

Je me suis tout d'abord tourné vers mon logiciel de compression 7-zip qui indique sur sa page d'accueil :

Unpacking only: RAR, CAB, ISO, ARJ, LZH, CHM, MSI, WIM, Z, CPIO, RPM, DEB and NSIS

Mais en faisant le test, j'ai eu plein de fichiers bizarres et tout en retrouvant certains fichiers connus, ils n'étaient pas nommés correctement et cette série de fichiers n'était donc pas utilisables. Peut-être ai-je fait une fausse manipulation...

Toujours est-il que j'ai fait une recherche sur Internet et que je suis tombé sur l'article « VBS Script To Extract A Specified MSI File To A Specified Location » qui répond tout à fait à mon besoin : un script VBScript est donné qui vous demande de sélectionner le fichier .msi, un répertoire de destination et qui extrait tous les fichiers dans ce répertoire, on ne peut rêver mieux, j'ai enfin mon fichier !

En fait, en dehors du fait que le script donne une interface à l'opération, la chose la plus interessante est la ligne de commande utilisée :

msiexec.exe /a <fichier source> /qn TargetDir=<répertoire de destination>

Il est facile ensuite de se faire un script plus simple (en VBS, batch, PHP CLI) pour que d'un clic droit de la souris, on puisse extraire les fichiers dans un sous-répertoire nommé à partir du nom du fichier, qui se lance ? :-)

Posté le jeudi 07 février 2008 dans .

Commentaires

Il n'y a aucun commentaire ; soyez le premier à déposer le vôtre.

Ajouter un commentaire

Il n'est plus possible de réagir à cette entrée directement mais si vous pensez que votre intervention peut être intéressante, envoyez-moi votre commentaire, je l'ajouterai ici en votre nom.