Saltar al contenido

¿Es posible ejecutar un archivo después de la extracción de un archivo de archivo autoextraíble (SFX) de 7-Zip?

Solución:

Deberá descargar el SDK de LMZA desde 7-Zip. El archivo “installer.txt” contiene documentación:

7zSD.sfx es un módulo SFX para instaladores. 7zSD.sfx utiliza msvcrt.dll.

Los módulos SFX para instaladores permiten crear programas de instalación. Dicho módulo extrae el archivo a la carpeta temporal y luego ejecuta el programa especificado y elimina los archivos temporales una vez finalizado el programa. El archivo autoextraíble para los instaladores debe crearse como uniendo 3 archivos: SFX_Module, Installer_Config, 7z_Archive. Installer_Config es un archivo opcional. Puede utilizar el siguiente comando para crear un archivo de autoextracción del instalador:

copy /b 7zSD.sfx + config.txt + archive.7z archive.exe

Necesita crear un archivo config.txt.

El archivo de configuración contiene comandos para el instalador. El archivo comienza desde la cadena
;[email protected]@!UTF-8! y termina con ;[email protected]@!. El archivo debe estar escrito en codificación UTF-8. El archivo contiene pares de cadenas:

ID_String = “Valor”

Title Título de los mensajes

BeginPrompt Iniciar mensaje de solicitud

Progress El valor puede ser “sí” o “no”. El valor predeterminado es “sí”.

RunProgram Comando para ejecutar. El valor predeterminado es “setup.exe”. La subcadena %% T se reemplazará con la ruta a la carpeta temporal, donde se extrajeron los archivos

Directory Prefijo de directorio para “RunProgram”. El valor predeterminado es “. “

ExecuteFile Nombre del archivo para ejecutar

ExecuteParameters Parámetros de “ExecuteFile”

Por ejemplo:

 ;[email protected]@!UTF-8!
 Title="7-Zip 4.00"
 BeginPrompt="Do you want to install the 7-Zip 4.00?"
 RunProgram="setup.exe"
 ;[email protected]@!

La solución acordada es correcta, pero en realidad no ayuda a explicar lo que realmente necesita hacer. Leí esta y muchas otras soluciones y no pude encontrar instrucciones sencillas completas y completas sobre cómo hacer esto.

Si está confundido como yo, lea la publicación de mi blog que proporciona instrucciones paso a paso sobre cómo lograr lo que Molly7244 ha publicado.

Cómo hacer un archivo autoextraíble que ejecute su setup.exe con el conmutador 7zip -sfx

Se me informó que los enlaces pueden volverse muertos, así que aquí están los pasos, de mi blog.

Paso 1: configura tu carpeta de instalación

Para facilitar esto, cree una carpeta c: Install. Aquí es donde copiaremos todos los archivos requeridos.

Paso 2 – 7 Comprima sus instaladores

  1. Vaya a la carpeta que tiene su .msi y su setup.exe
  2. Seleccione tanto el .msi como el setup.exe
  3. Haga clic derecho y elija 7Zip -> “Agregar al archivo”
  4. Nombre su archivo “Installer.7z” (o un nombre de su elección)
  5. Haga clic en Aceptar
  6. Ahora debería tener “Installer.7z”.
  7. Copie este archivo .7z en su directorio c: Install

Paso 3: obtenga el módulo de extensión 7z-Extra sfx del 7z SDK

Necesitas descargar el SDK 7z

  1. Siga este enlace para descargar 7Zip
  2. Debe descargar la versión 19.00 (a partir de diciembre de 2019) ya que la versión beta no contiene los archivos correctos.
  3. Un enlace de descarga de SDK.
  4. Extraiga los archivos del SDK de 7zip.
  5. Copie el archivo “7zSD.sfx” del directorio bin del SDK en c: Install

Paso 4: configura tu config.txt

Recomendaría usar NotePad ++ para editar este archivo de texto ya que necesitará codificar en UTF-8, las siguientes instrucciones usan notepad ++.

  1. Con el explorador de Windows, vaya a c: Install
  2. haga clic derecho y elija “Nuevo archivo de texto” y asígnele el nombre config.txt
  3. haga clic derecho y elija “Editar con NotePad ++
  4. Haga clic en el “Menú de codificación” y seleccione “Codificar en UTF-8”.
  5. Ingrese algo como esto:

    ;[email protected]@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;[email protected]@!
    

Edita este reemplazo [SOFTWARE v1.0.0.0] con el nombre de su producto. Las notas sobre los parámetros y opciones para el archivo de configuración están aquí.

Control

Ahora debería tener una carpeta “c: Install” con los siguientes 3 archivos:

  1. Instalador.7z
  2. 7zS.sfx
  3. config.txt

Paso 5: crea el archivo

Estas instrucciones las encontré en la web, pero en ninguna parte explican ninguno de los 4 pasos anteriores.

  1. Abra una ventana de cmd, Ventana + R -> cmd -> presione enter
  2. En la ventana de comandos, escriba lo siguiente

    cd 
    cd Install
    copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
    
  3. Busque en c: Install y verá que tiene un MyInstaller.exe

  4. Has terminado

Ejecuta el instalador

Haga doble clic en MyInstaller.exe y aparecerá su mensaje. Haga clic en Aceptar y se ejecutará setup.exe.

PS Nota sobre automatización

Ahora que tiene esto funcionando en su directorio c: Install, crearía un archivo “Install.bat” y pondría el script de copia en él.

copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe

Ahora puede editar y ejecutar Install.bat cada vez que necesite reconstruir una nueva versión de su paquete de implementación.

También debería mirar NSIS. Con él, puede crear un instalador que se comprime con el mismo método que usa 7-Zip (LZMA), por lo que debe tener aproximadamente el mismo tamaño y usted tiene control total sobre el proceso de instalación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *