Pregunta ¿Cómo extraigo archivos de un paquete MSI?


Tenemos algunos parches antiguos de los que queremos obtener los archivos, pero no queremos pasar el tiempo instalándolos en una máquina.

¿Alguien puede aconsejar una forma de extraer archivos de un paquete de instalación de MSI?


172


origen


¿Puede proporcionar más información sobre qué paquete de instalación exacto de MSI desea extraer, sus detalles de sistema operativo, etc. - Firee


Respuestas:


Primero, acceda a un símbolo del sistema elevado para hacer esto:

  1. Haga clic en el botón de Inicio.

  2. Haga clic en Todos los programas.

  3. Vaya a Accesorios.

  4. Haga clic derecho en Símbolo del sistema.

  5. Seleccione Ejecutar como administrador.

  6. Cuando aparezca el aviso de UAC, haga clic en Continuar.

Una vez que tenga su símbolo del sistema elevado, ingrese lo siguiente:

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

utilizando las ubicaciones deseadas para completar los recorridos de archivo mencionados anteriormente. Ejemplo:

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

194



Otro rápido Google apareció esto: legroom.net/software/uniextract  Preferiría usar complementos pero parece una utilidad aceptable.
Por lo que yo entiendo (desde msiexec /?), Este comando realmente instalará el programa en esa ubicación; No creo que esto sea lo que el solicitante original tenía en mente.
@ user6738 He probado esto y no instala el software. El software no se encuentra en el appwiz ni se puede desinstalar a través del msi e informa que no está instalado. Realmente extrae los archivos de mi prueba. - Adam Caviness
Ejecuté esto en una computadora Win8.1 bloqueada (portátil) y debería tener en cuenta que Los derechos de administrador NO son necesarios extraer .msi archivos. - MattDMo
¡Gran respuesta! Puse esto en una extractMSI.cmd archivo: msiexec /a %1 /qb TARGETDIR="%~d1%~p1%~n1" || pause y lo agregué a las opciones "Abrir con ..." del archivo msi - Tobias Kienzler


Utilizar 7Zip.
Descomprimirá MSI, CAB, algunos EXE y muchos más paquetes para ti. No hay necesidad de privilegios de administrador para ejecutar esto tampoco.

-EDITAR-

Y es de código abierto, así que no hay mensajes molestos que te piden que compres las cosas


74



y después de probarlo, msiexec hace un mejor trabajo (preservar los directorios, nombrar los archivos correctamente, etc.) - Michael Schubert
Esto no parece funcionar para mí en win7 x64 con 32 bits 7-Zip. ¿Hay alguna forma en particular (no arrastrar y soltar) de decirle que abra el archivo? - ebyrob
Debería haber una opción de 7zip en el menú de contexto cuando haga clic con el botón derecho en el archivo; le dará la opción de extraer los archivos. - Shekhar
Veo muchas cosas con un signo de exclamación en el frente en lugar de archivos reales. Supongo que algo ha cambiado o tengo un archivo msi impar. Intenté 7-Zip 9.20. - mlt
@MichaelSchubert - depende. Si está ejecutando una máquina que no es de Windows, 7Zip es una buena opción ya que la versión de línea de comandos también está disponible para otros sistemas. Depende del caso de uso que yo diga. - Per Lundberg


También hay lessmsi que es completamente gratuito y de código abierto.

No hay anuncios o mensajes persistentes, preservará la estructura del directorio y los nombres de los archivos correctamente, tiene un interfaz de línea de comando sofisticada, así como una interfaz gráfica de usuario que permite navegar a través de los archivos y ver tablas MSI internas y otros atributos de MSI.


41



¡Gracias! Este me ayudó a extraer de un MSI que no extraería con el comando msiexec diciendo "la instalación de administrador no es compatible" para <nombre de paquete de instalación> - axk


Hay soporte integrado de MSI para la extracción de archivos (instalación de administrador)

MSI o Windows Installer tiene soporte incorporado para esto - la extracción de archivos de un archivo MSI. Esto se llama instalación administrativa. Básicamente está destinado como una forma de crear un punto de instalación de red desde donde se puede ejecutar la instalación en muchas computadoras de destino. Esto asegura que los archivos fuente estén siempre disponibles para cualquier operación de reparación.

Tenga en cuenta que ejecutar una instalación de administrador versus usar una herramienta de compresión para extraer los archivos es muy diferente. Este último no ajustará el diseño de medios de la tabla de medios de modo que el paquete esté configurado para usar archivos fuente externos, que es la forma correcta. Siempre prefiero ejecutar la instalación de administrador real sobre cualquier extracción de zip hacky. En cuanto a la compresión, en realidad hay tres algoritmos de compresión diferentes utilizado para los archivos cab dentro del formato de archivo MSI: MSZip, LZX y almacenamiento (sin comprimir). Todos estos se manejan correctamente haciendo una instalación de administrador.


Las instalaciones de administrador tienen muchos usos

Se recomienda leer más acerca de las instalaciones administrativas, ya que es un concepto útil, y he escrito una publicación en stackoverflow: ¿Cuál es el propósito de la instalación administrativa iniciada usando msiexec / a?.

En esencia, la instalación del administrador es importante para:

  • Extrayendo e inspeccionando los archivos del instalador
  • Despliegue a través de software de gestión de sistemas, por ejemplo SCCM (evita grandes archivos MSI en caché en C: \ Windows \ Installer ya que los archivos se extraen de las cabinas internas)
  • Reempaquetado de aplicaciones corporativas
  • Operaciones de reparación, modificación y auto reparación
  • Parches y actualizaciones
  • Anuncio de MSI (el "correr desde la fuente" característica)
  • Una serie de otros detalles más pequeños

Lea la publicación stackoverflow vinculada anteriormente para obtener más detalles. Es un concepto bastante importante para administradores del sistema, empaquetadores de aplicaciones, desarrolladores de instalación, gerentes de lanzamientoy incluso el usuario promedio para ver lo que están instalando, etc.


Admin-install, práctica cómo hacerlo

Puede realizar una instalación de administrador de varias maneras diferentes dependiendo de cómo se entregue el instalador. Esencialmente se entrega como una Archivo MSI o envuelto en una archivo setup.exe.

Ejecute estos comandos desde indicador de comando elevado, y siga las instrucciones en la GUI para las líneas de comando interactivas:

  • Archivos MSI:

    msiexec /a File.msi
    

    eso es para ejecutar con GUI, también puedes hacerlo silenciosamente:

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

    setup.exe /a
    

UN setup.exe archivo también puede ser un configuración de estilo heredado (no MSI) o el temido Installscript MSI tipo de archivo: un tipo de proyecto Installshield buggy bien conocido con formato MSI híbrido no compatible con los estándares. Es esencialmente una MSI con una GUI personalizada y más avanzada, pero también está llena de errores.

por archivos legacy setup.exe el /un no hará nada, pero puedes probar / extract_all: [ruta] cambiar como se explica en este pdf. Es una buena referencia para la instalación silenciosa y otras cosas también. Otro recurso es esta lista de parámetros de la línea de comandos de Installshield setup.exe.

Archivos de parche MSI (* .MSP) puede ser aplicado a una imagen de administrador para extraer adecuadamente sus archivos. 7Zip también podrá extraer los archivos, pero no estarán formateados correctamente.

Finalmente, si no funciona de otra manera, puede obtener los archivos de configuración extraídos limpiando la carpeta temporal de su sistema, ejecute setup.exe interactivamente y luego espere a que aparezca el primer cuadro de diálogo. En la mayoría de los casos, el instalador habrá extraído un grupo de archivos en una carpeta temporal. A veces los archivos son simples, otras veces en formato CAB, pero Winzip, 7Zip o incluso Universal Extractor (no se ha probado este producto) pueden ser capaces de abrirlos.


19



Ver también esta respuesta: superuser.com/questions/307678/... - Stein Åsmul
La misma publicación en stackoverflow: stackoverflow.com/a/24987512/129130 (Debería eliminar uno, pero ambos están actualizados y se fusionaron recientemente). - Stein Åsmul


yo recomendaria UniExtract para hacer que la solución de neoice sea aún más fácil. Hace lo mismo, es más automatizado y permite varios métodos para extraer archivos MSI, no solo una instalación administrativa (como su solución está usando).

UniExtract también puede manejar exe empaquetado con WISE o InstallShield, así como una variedad de otros formatos comprimidos. Oh, y es gratis.

Universal Extractor es un programa para   exactamente lo que dice: extraer archivos   de cualquier tipo de archivo, ya sea   un archivo zip simple, una instalación   programa, o incluso un instalador de Windows   (.msi) paquete.


8





Si instalas Comandante total, hay un complemento para abrir y extraer archivos MSI.


3



Derecha. Pero desafortunadamente solo para TC de 32 bits - Timores


puedes usar Orca esta aplicación es parte de Platform SDK, pero también puedes descargarla desde aquí http://astebner.sts.winisp.net/Tools/Orca.zip


1



Orca es mejor para extraer metadatos como archivos, carpetas y tablas de registro. En general, no es muy útil para extraer los archivos reales (completamente inútil si los archivos no están almacenados en la tabla binaria). - Synetech


Añadir PeaZip a la lista. Trabajó como un campeón


1



Por favor lee ¿Cómo recomiendo el software? para algunos consejos sobre cómo debe recomendar el software. Como mínimo, debe proporcionar más que solo un enlace, por ejemplo, información adicional sobre el software en sí, por ejemplo, cómo se puede utilizar para resolver el problema en la pregunta. - DavidPostill♦


También puedes probar Extractor MSI de Heath Stewart.


0





Solo descarga Extractor universal. Extrae todo tipo de archivos, incluidos .exe, .msi, .rar, .zip, .kgb y más.


0





Tratar MSITOOLS.EXE alojado en InstallSite para un extractor de GUI.


0