installer - full - installshield visual studio 2017
Extracción programática del contenido de InstallShield setup.exe (5)
El programa gratuito y de código abierto llamado cabextract y extraerá el contenido no solo de los archivos .cab, sino también de los archivos de Macrovision:
% cabextract /tmp/QLWREL.EXE
Extracting cabinet: /tmp/QLWREL.EXE
extracting ikernel.dll
extracting IsProBENT.tlb
....
extracting IScript.dll
extracting iKernel.rgs
All done, no errors.
Estoy intentando extraer el contenido del archivo de un archivo InstallShield setup.exe. (Mi plan es usarlo en una herramienta administrativa, por lo que esto debe hacerse de manera programática sin ninguna interacción del usuario).
es posible?
(La investigación inicial parece indicar que fallará).
Si es posible tener una solución genérica, sería mejor para todas las versiones recientes de InstallShield.
De lo contrario, si una solución solo funciona para algunas versiones de InstallShield, sería un paso en el camino. (Probablemente sería posible deducir qué versión de InstallShield es un setup.exe
mirando los recursos de versión del archivo exe.
Encontré que algunas versiones de InstallShield admiten /b
o /extract_all
. Sin embargo, no hay una buena forma de saberlo, simplemente lanzar el archivo ejecutable y esperar que se extraiga y termine de manera ordenada en lugar de mostrar que los diálogos de la GUI no parecen ser una buena solución. Por eso estoy buscando una forma más estable.
Ideas bienvenidas.
Empezar con:
setup.exe /?
Y debería ver una ventana emergente de diálogo con algunas opciones mostradas.
En Linux hay unshield
, que funcionó bien para mí (incluso si la GUI incluye elementos disuasorios personalizados como indicaciones de claves de licencia). Se incluye en los repositorios de todas las distribuciones principales (basadas en arch, suse, debian y fedora) y su fuente está disponible en https://github.com/twogood/unshield
No hay una forma compatible de hacerlo, pero ¿no tendrá que examinar los archivos relacionados con cada instalador para descubrir cómo instalarlos realmente después de extraerlos? Suponiendo que puede pasar el tiempo para averiguar qué línea de comandos se aplica, aquí hay algunos parámetros candidatos que normalmente le permiten extraer una instalación.
Basado en MSI (puede no resultar en una imagen utilizable para una instalación MSI de InstallScript):
setup.exe /a /s /v"/qn TARGETDIR=/"choose-a-location/""
o, también para extraer requisitos previos (para las versiones donde funciona),
-
setup.exe /a"choose-another-location" /s /v"/qn TARGETDIR=/"choose-a-location/""
Basado en InstallScript:
-
setup.exe /s /extract_all
Basado en la suite (puede que no sea obvio cómo instalar los archivos resultantes):
-
setup.exe /silent /stage_only ISRootStagePath="choose-a-location"
http://www.compdigitec.com/labs/files/isxunpack.exe
Uso: isxunpack.exe yourinstallshield.exe
Se extraerá en la misma carpeta.