Question Comment extraire des fichiers d'un package MSI?


Nous avons quelques anciens correctifs dont nous voulons récupérer les fichiers, mais nous ne souhaitons pas les installer sur une machine.

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


172
2018-02-14 12:41


origine


Pouvez-vous fournir plus d'informations sur le package d'installation MSI que vous souhaitez extraire, les détails de votre système d'exploitation, etc. - Firee


Réponses:


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 l'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 votre invite de commande élevée, entrez les éléments suivants:

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

utiliser 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

194
2018-02-14 12:53



un autre rapide Google a mis en place ceci: legroom.net/software/uniextract  Je préférerais utiliser des éléments intégrés, mais cela semble être un utilitaire acceptable.
Si je comprends bien (à partir de msiexec /?), Cette commande installe réellement le programme à cet emplacement; Je ne pense pas que ce soit ce que le demandeur initial avait en tête.
@ user6738 Je l'ai testé et il n'installe pas le logiciel. Le logiciel ne se trouve pas dans l'application et ne peut pas être désinstallé via le msi et signale qu'il n'est pas installé. Il extrait vraiment les fichiers de mon test. - Adam Caviness
Je l'ai couru sur un ordinateur Win8.1 verrouillé (ordinateur portable professionnel) et il convient de noter que Les droits d'administrateur ne sont PAS nécessaires extraire .msi des dossiers. - MattDMo
Très bonne réponse! Je mets ça dans un extractMSI.cmd fichier: msiexec /a %1 /qb TARGETDIR="%~d1%~p1%~n1" || pause et l'a ajouté aux options "Ouvrir avec ..." du fichier msi - Tobias Kienzler


Utilisation 7Zip.
Il va décompresser MSI, CAB, certains EXE et beaucoup plus de paquets pour vous. Il n'y a pas besoin de privilèges d'administrateur pour l'exécuter non plus.

-MODIFIER-

Et son open source, donc pas de messages lancinants vous priant d'acheter les trucs


74
2017-07-07 15:24



et après l'avoir essayé, msiexec fait un meilleur travail (préserver les répertoires, nommer les fichiers correctement, etc.) - Michael Schubert
Cela ne semblait pas fonctionner pour moi sur win7 x64 avec 7-bit à 32 bits. Y a-t-il une manière particulière (pas de glisser-déposer) que vous devez lui indiquer pour ouvrir le fichier? - ebyrob
Il devrait y avoir une option de 7zip dans le menu contextuel lorsque vous cliquez avec le bouton droit sur le fichier - cela vous donnera la possibilité d’extraire les fichiers. - Shekhar
Je vois beaucoup de choses avec un signe d'exclamation à la place des fichiers réels. Je suppose que quelque chose a changé ou j'ai un fichier msi impair. J'ai essayé 7-Zip 9.20. - mlt
@MichaelSchubert - ça dépend. Si vous utilisez un ordinateur autre que Windows, 7Zip est une bonne option, car la version en ligne de commande est également disponible pour les autres systèmes. Dépend du cas d'utilisation que je dirais. - Per Lundberg


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

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


41
2017-12-06 10:18



Merci! Celui-ci m'a aidé à extraire d'un MSI qui ne serait pas extrait avec la commande msiexec en disant "admin install n'est pas supporté" pour <nom du package d'installation> - axk


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

MSI ou Windows Installer a un support intégré pour cela - l'extraction de fichiers d'un fichier MSI. Ceci s'appelle un installation administrative. Il est essentiellement conçu comme un moyen de créer un point d'installation réseau à partir de laquelle l'installation peut être exécutée sur de nombreux ordinateurs cibles. Cela garantit que les fichiers source sont toujours disponibles pour toutes les opérations de réparation.

Notez que l'exécution d'une installation admin par opposition à l'utilisation d'un outil zip pour extraire les fichiers est très différente! Ce dernier n’ajustera pas la disposition des médias de la table des médias de sorte que le package soit configuré pour utiliser des fichiers source externes - ce qui est la bonne manière. Préférez toujours de lancer l’installation de l’administrateur sur toutes les extractions de code. En ce qui concerne la compression, il y a effectivement trois algorithmes de compression différents utilisé pour les fichiers cab à l'intérieur du format de fichier MSI: MSZip, LZX et Storing (non compressé). Tout cela est géré correctement en effectuant une installation admin.


Les install-admin ont de nombreuses utilisations

Il est recommandé de lire plus sur les installations d’admin, car c’est un concept utile, et j’ai écrit un article sur stackoverflow: Quel est le but de l'installation administrative lancée à l'aide de msiexec / a?.

Essentiellement, l'installation de l'administrateur est importante pour:

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

Veuillez lire le post stackoverflow lié ci-dessus pour plus de détails. C'est un concept assez important pour administrateurs système, les conditionneurs d'applications, installer les développeurs, responsables de publication, et même l'utilisateur moyen pour voir ce qu'ils installent etc ...


Admin-install, pratique pratique

Vous pouvez effectuer une installation admin de différentes manières en fonction de la manière dont l'installateur est livré. Il est essentiellement livré sous forme de Fichier MSI ou enveloppé dans un fichier setup.exe.

Exécutez ces commandes à partir d'un invite de commande élevéeet suivez les instructions de l'interface graphique pour les lignes de commande interactives:

  • Fichiers MSI:

    msiexec /a File.msi
    

    cela doit fonctionner avec l'interface graphique, vous pouvez le faire aussi en silence:

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

    setup.exe /a
    

UNE setup.exe fichier peut également être un configuration de style héritée (non-MSI) ou le redouté Installez le fichier MSI type de fichier - un type de projet Installshield bogué bien connu avec un format MSI hybride non conforme aux normes. Il s'agit essentiellement d'un MSI avec une interface graphique personnalisée, plus avancée, mais il est également plein de bogues.

Pour fichiers setup.exe hérités la /une ne fera rien, mais vous pouvez essayer le / extract_all: commutateur [chemin] comme expliqué dans ce pdf. C'est une bonne référence pour l'installation silencieuse et d'autres choses également. Une autre ressource est cette liste de paramètres de ligne de commande Installshield setup.exe.

Fichiers de correctifs MSI (* .MSP) peut être appliqué à une image admin extraire correctement ses fichiers. 7Zip sera également capable d'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 de configuration extraits en nettoyant le dossier temporaire de votre système, lancer interactivement le fichier setup.exe et attendre que le premier dialogue apparaisse. Dans la plupart des cas, l'installateur aura extrait un tas de fichiers dans un dossier temporaire. Parfois, les fichiers sont clairs, d'autres fois au format CAB, mais Winzip, 7Zip ou même Universal Extractor (n'ont pas testé ce produit) - peuvent être en mesure de les ouvrir.


19
2017-07-25 21:28



Voir aussi cette réponse: superuser.com/questions/307678/ - Stein Åsmul
Le même post sur stackoverflow: stackoverflow.com/a/24987512/129130 (Je devrais en supprimer un, mais les deux sont votés et ils ont été fusionnés récemment). - Stein Åsmul


je recommanderais UniExtract pour rendre la solution de neoice encore plus facile. Il fait la même chose, est simplement plus automatisé et permet plusieurs méthodes pour extraire des fichiers MSI, pas seulement une installation administrative (comme sa solution utilise).

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

Universal Extractor est un programme à faire pour   exactement ce qu'il dit: extraire des fichiers   de tout type d'archive, que ce soit   un simple fichier zip, une installation   programme, ou même un Windows Installer   (.msi) package.


8
2018-02-18 05:08





Si vous installez Commandant Total, Il y a un plugin pour ouvrir et extraire les fichiers MSI.


3
2018-02-14 13:02



Droite. Mais malheureusement seulement pour TC 32 bits - Timores


vous pouvez utiliser Orca cette application fait partie de Platform SDK, mais vous pouvez aussi la télécharger ici http://astebner.sts.winisp.net/Tools/Orca.zip


1
2018-02-14 12:54



Orca est préférable pour extraire des méta-données telles que des tables de fichiers, de dossiers et de registre. Ce n'est généralement pas très utile pour extraire les fichiers réels (complètement inutile si les fichiers ne sont pas stockés dans la table binaire). - Synetech