web-dev-qa-db-fra.com

Comment extraire des fichiers d'un package MSI?

Nous avons d'anciens correctifs dont nous voulons récupérer les fichiers mais nous ne souhaitons pas passer le temps à les installer sur une machine.

Quelqu'un peut-il conseiller un moyen d'extraire des fichiers d'un package d'installation MSI?

184
Martin

Tout d'abord, accédez à une invite de commande élevée, pour ce faire:

  1. Cliquez sur le bouton Démarrer.

  2. Cliquez sur Tous les programmes.

  3. Allez dans les accessoires.

  4. Cliquez avec le bouton droit sur Invite de commandes.

  5. Sélectionnez Exécuter en tant qu'administrateur.

  6. Lorsque l'invite UAC apparaît, cliquez sur Continuer.

Une fois que vous avez l'invite de commande élevée, entrez les informations suivantes:

msiexec /a drive:\filepath\to\MSI\file /qb TARGETDIR=drive:\filepath\to\target\folder

en utilisant les emplacements souhaités pour remplir les chemins de fichiers mentionnés ci-dessus. Exemple:

msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test
207
neoice

Utilisez 7Zip .
Il décompressera MSI, CAB, certains fichiers EXE et bien d’autres packages pour vous. Il n’est pas nécessaire de disposer de privilèges d’administrateur pour l’exécuter.

-MODIFIER-

Et son source ouverte, donc pas de messages lancinants vous priant d'acheter le truc

74
Shekhar

Il y a aussi lessmsi qui est complètement gratuit et open source.

Il n'y a pas de publicités ou de messages hargneux, il préservera correctement la structure des répertoires et les noms de fichiers, possède une interface de ligne de commande sophistiquée , ainsi qu'une interface utilisateur graphique permettant de parcourir les fichiers ainsi autres attributs MSI.

45
Scott Willeke

Il existe un support MSI intégré pour l'extraction de fichier (admin install)

MSI ou Windows Installer a une prise en charge intégrée de ce - l'extraction de fichiers à partir d'un fichier MSI. Cela s'appelle une installation administrative . Il s'agit essentiellement d'un moyen de créer un point d'installation réseau à partir duquel l'installation peut être exécutée sur de nombreux ordinateurs cibles. Cela garantit que les fichiers source sont toujours disponibles pour toute opération de réparation.

Notez que l'exécution d'une installation administrative par rapport à l'utilisation d'un outil Zip pour extraire les fichiers est très différente! Ce dernier ne modifiera pas la disposition des supports de la table des supports de sorte que le package soit configuré pour utiliser des fichiers source externes - ce qui est le bon moyen. Préférez toujours l’exécution de l’administrateur par rapport aux extractions de hacky Zip. En ce qui concerne la compression, il existe en fait trois algorithmes de compression différents utilisés pour les fichiers CAB contenus dans le format de fichier MSI: MSZip, LZX et Stockage (non compressé). Tous ces éléments sont gérés correctement en effectuant une installation administrateur.


Les install-admin ont de nombreux usages

Il est recommandé d'en savoir plus sur admin-installs car ce concept est utile et j'ai écrit un article sur stackoverflow: Quel est le but de l'installation administrative lancée à l'aide de msiexec/a? .

L’installation de l’administrateur est essentielle pour:

  • Extraire et inspecter les fichiers du programme d'installation
  • Déploiement via un logiciel de gestion de systèmes, par exemple SCCM (évite les énormes fichiers MSI mis en cache dans C:\Windows\Installer, car les fichiers sont extraits des cabines internes)
  • Reconditionnement d'applications d'entreprise
  • Opérations de réparation, de modification et d'auto-réparation
  • Patching et mises à niveau
  • Publication MSI (fonctionnalité "exécuter à partir de la source")
  • Un certain nombre d'autres petits détails

Veuillez lire le message stackoverflow lié ci-dessus pour plus de détails. C'est un concept assez important pour administrateurs système, emballeurs d'application, développeurs d'installation, gestionnaires de version, et même l'utilisateur moyen pour voir ce qu'ils installent etc...


Admin-installer, pratique

Vous pouvez effectuer une installation admin de différentes manières en fonction de la livraison du programme d'installation. Essentiellement, il est fourni sous forme de fichier MSI ou encapsulé dans un fichier setup.exe.

Exécutez ces commandes à partir de la commande elevated Prompt, puis suivez les instructions de l'interface graphique pour les lignes de commande interactives:

  • Fichiers MSI:

    msiexec /a File.msi
    

    c'est pour fonctionner avec une interface graphique, vous pouvez aussi le faire en silence:

    msiexec /a File.msi TARGETDIR=C:\MyInstallPoint /qn
    
  • fichiers setup.exe:

    setup.exe /a
    

Un fichier setup.exe peut également être une configuration de style legacy (non-MSI) ou le type de fichier redouté InstallScript - un type de projet Installshield buggy bien connu avec des normes non standard hybrides. format conforme MSI. Il s’agit essentiellement d’un fichier MSI avec une interface utilisateur personnalisée plus avancée, mais il contient également de nombreux bogues.

Pour les fichiers legacy setup.exe, le / a ne fera rien, mais vous pouvez essayer le commutateur / extract_all: [path] comme expliqué dans this pdf . C'est une bonne référence pour l'installation silencieuse et d'autres choses aussi. Une autre ressource est cette liste de paramètres de ligne de commande Installshield setup.exe } _.

Les fichiers de correctif MSI (* .MSP) peuvent être appliqués à une image d'administrateur pour extraire correctement ses fichiers. 7Zip pourra également extraire les fichiers, mais ils ne seront pas correctement formatés.

Enfin, si aucun autre moyen ne fonctionne, vous pouvez récupérer les fichiers d'installation extraits en nettoyant le dossier temporaire de votre système, en lançant le fichier setup.exe de manière interactive, puis en attendant que la première boîte de dialogue s'affiche. Dans la plupart des cas, l’installateur aura extrait un tas de fichiers dans un dossier temporaire. Parfois, les fichiers sont simples, parfois au format CAB, mais Winzip, 7Zip ou même Universal Extractor (n’ayant pas testé ce produit), peuvent les ouvrir.

23
Stein Åsmul

Je recommanderais UniExtract pour rendre la solution de Neoice encore plus simple. Il fait la même chose, il est simplement plus automatisé et permet plusieurs méthodes d’extraction de fichiers MSI, pas seulement une installation administrative (comme sa solution l’utilise).

UniExtract peut également gérer les fichiers exe fournis avec WISE ou InstallShield, ainsi que divers autres formats compressés. Oh, et c'est gratuit.

Universal Extractor est un programme qui fait exactement ce qu’il dit: extrayez des fichiers de n’importe quel type d’archive, qu’il s’agisse d’un simple fichier Zip, d’un programme d’installation ou même d’un package Windows Installer (.msi).

8
Mick

Si vous installez Total Commander , il existe un plug-in pour ouvrir et extraire les fichiers MSI .

3
Manuel Ferreria

lessmsiest vraiment le meilleur choix ici, car il vous permet de choisir exactement quels fichiers à extraire et où ils doivent aller. De plus, il peut être facilement installé à l'aide du framework apt-get pour Windows, appelé Choclatey. Le site Web lessmsi ci-dessus a a été déplacé et vous pouvez également le trouver/le télécharger à l’adresse GitHub . En outre, vous pouvez trouver de nombreux autres outils et informations relatives à MSI ICI. : (Désolé, je ne peux pas poster plus de 2 liens!)

1
not2qubit

Ajoutez PeaZip à la liste. A travaillé comme un champion

1
JOpuckman

vous pouvez utiliser Orca cette application fait partie de Platform SDK, mais vous pouvez également la télécharger à partir d’ici http://astebner.sts.winisp.net/Tools/Orca.Zip

1
michael

Il suffit de télécharger Universal Extractor . Il extrait tous les types de fichiers, y compris les fichiers .exe, .msi, .rar, .Zip, .kgb et plus.

0
vivek

Vous pouvez également essayer MSI Extractor de Heath Stewart .

0
jkchong

Les configurations Installshield .exe (comme vous les appelez) se déclinent en de nombreuses variantes et il est généralement possible d’en extraire des fichiers.

Installshield setup.exe peut contenir d’anciens programmes d’installation, anciens ou non, ou de nouveaux programmes d’installation.

Si le fichier setup.exe encapsule une configuration MSI, vous pouvez spécifier setup.exe/a et l'installation administrative de MSI s'exécutera, vous permettant ainsi de spécifier l'emplacement de sortie des fichiers.

Si setup.exe est une installation Installshield classique, il peut ne pas prendre en charge l'extraction de fichiers via/extract_all: [chemin] switch . Veuillez consulter ici (mis à jour en juillet 2011, le lien Acresso n’était plus valide, mis à jour à nouveau en février 2014 - pointant maintenant vers itninja).

Notez également que une autre façon de récupérer ces fichiers consiste à vider le dossier temporaire de votre système, à lancer le fichier setup.exe de manière interactive, puis à attendre que la première boîte de dialogue apparaisse. Dans la plupart des cas, l’installateur aura extrait un tas de fichiers dans un dossier temporaire. Parfois, les fichiers sont simples, parfois au format CAB, mais Winzip, 7Zip ou même Universal Extractor (n’ayant pas testé ce produit), peuvent les ouvrir.

0
Stein Åsmul

Essayez MSITOOLS.EXE hébergé sur InstallSite pour un extracteur d’interface graphique.

0
Andrew Guest