7zip: crea un archivo autoextraíble (sfx) con la ruta de extracción especificada


15

Hola expertos en superusuario,

Gracias por tu ayuda en avanzado. Estoy tratando de obtener el archivo 7zip SFX para crear un ejecutable. Puedo obtener el ejecutable. Pero cuando lo ejecuto, muestra la ruta de descarga Extract to:. Me gustaría cambiar %AppData%\Roamingpor defecto. La captura de pantalla a continuación me dará una idea de lo que estoy tratando de hacer.

Configuración de 7zip

Extraer a: cuadro de diálogo

No hay setup.exe ni nada dentro del archivo, solo tiene unos pocos archivos que deben ir a la Roamingcarpeta. Esto es para muchos de nuestros usuarios, que pueden obtener estas actualizaciones sin que especifiquen una ruta. (¡Siempre es fácil cuando los usuarios no tienen que especificar una ruta, de lo contrario, según mi experiencia, los usuarios pueden elegir las rutas más inusuales!)

Gracias.

Actualizar

Esto es lo que he intentado hasta ahora. mi contenido del archivo de configuración es

;!@Install@!UTF-8!
InstallPath="%AppData%\\Roaming\\Notepad++"
;!@InstallEnd@!

Esta es la llamada de línea de comando.

copy /b 7zS.sfx + config.txt + Installer.7z myinstaller.exe

Lamentablemente no funciona . Da el siguiente camino. Debería ser %AppData%\\Roaming\\Notepad++.

[Extraer ruta]


Esta opción está disponible con WinRAR pero no sabe acerca de 7-zip.
No arraigar aquí por favor ...

Respuestas:


7

Pruebe 7z SFX Builder , es gratuito, admite parámetros de línea de comandos y también puede especificar la ruta de extracción en la pestaña principal de la GUI :

Pestaña principal


omegastripes, funciona muy bien. Gracias. Tiene una increíble cantidad de opciones. Muchas gracias.
Gifcrazy

McAfee elimina el exe después de la instalación debido a un caballo de Troya ...
Lieven Cardoen

8

Me gustaría cambiar la ruta de extracción %AppData%\Roamingpor defecto.

Debe descargar un "módulo modificado" de 7z SFX Builder (sourceforge).

Consulte los enlaces a la izquierda para obtener documentación (tenga en cuenta estos enlaces y el texto a continuación es de https://web.archive.org/ )

En su archivo de configuración:

InstallPath="%AppData%\Roaming"

Parámetros del archivo de configuración

InstallPath = "path_to_extract"

Establece la ruta de extracción. La carpeta de extracción no se eliminará después de la extracción.

Si el InstallPathvalor no está presente en el archivo de configuración o la ruta se eliminó del cuadro de diálogo de extracción interactivo, el archivo se extraerá a una carpeta temporal. Esta carpeta temporal se eliminará después de la extracción y ejecución de todos los comandos.

Las variables de entorno están permitidas (con la excepción de las %%Tvariables definidas en SetEnvironment, si %%Tse usa en alguna de ellas). DEBE utilizar barras diagonales inversas DOBLES en los caminos. Por ejemplo:

InstallPath="C:\\Windows\\system32\\test"

o

InstallPath="%PROGRAMFILES%\\test"

Se permiten caminos relativos. La carpeta actual es aquella desde la que se ejecutó el programa que inicia el archivo SFX. Por ejemplo,

InstallPath="test"

crea una carpeta con el nombre de "prueba" en la carpeta desde la que se ejecutó el programa que inicia el archivo SFX. Todos los archivos se extraerán a la carpeta "prueba". Por otra parte,

InstallPath="."

extrae el contenido del archivo a la carpeta desde la que se ejecutó el programa que inicia el archivo SFX. También,

InstallPath="%%S"

extrae el contenido del archivo a la carpeta donde se encuentra el SFX.

Si todo lo que necesita es extraer el contenido del archivo a una carpeta determinada, debe especificar un valor InstallPathen el archivo de configuración.

En este caso no debe especificar RunProgramo ExecuteFileen el archivo de configuración. AutoInstallo AutoInstallXpuede especificarse en el archivo de configuración, pero no debe invocarse a través de la línea de comando o con la tecla [SHIFT].

Si especifica RunProgramo ExecuteFileinvoca AutoInstally AutoInstallX, el ejecutable especificado se iniciará después de la extracción.

Parámetros del archivo de configuración de origen


Gracias david ¿Pero me puede decir cómo usar el archivo de configuración?
Gifcrazy

@Cricrazy Consulte la información general sobre el módulo modificado que debe descargar y consulte los enlaces a la izquierda. Respuesta actualizada
DavidPostill

Esta configuración de 7-Zip InstallPathes justo lo que estoy buscando. En este momento tengo que crear un archivo por lotes para copiar archivos de la carpeta de extracción temporal a la carpeta de tiempo de ejecución de nuestra aplicación: ;!@Install@!UTF-8! Title="Local Manager" InstallPath="C:\kiosk\update" RunProgram="7zbootstrap.bat" ;!@InstallEnd@! @ECHO OFF REM 7zbootstrap.bat SETLOCAL SET update=C:\Kiosk\update XCOPY *.* %update%\ /S /E /I /F /Y CD %update% ECHO LAUNCHING AUTOUPDATE.BAT SCRIPT TIMEOUT /T 5 /NOBREAK autoUpdate.bat Sin embargo, el enlace ya no funciona.
papertape

No se puede obtener mini-Markdown para formatear el bloque de código correctamente. Modifíquelo si sabe cómo. Gracias.
papertape


0

Solo usa -y -o<PathToExtract>:Setup.exe -y -oc:\abc


2
¿Puede dar un ejemplo? ¿Qué es, por ejemplo, y -oc?
Gifcrazy

1
"eg" significa "expempli gratia", que básicamente significa "por ejemplo". Se usa comúnmente para indicar un ejemplo, tal como lo solicita. La respuesta aún no tiene explicación y podría usar el formato, pero INCLUYE un ejemplo completo.
music2myear

Si puedes dar más detalles sobre el comando? Siempre debe dar un desglose de los comandos que van a hacer, ya que el usuario del otro extremo desconfiará de los comandos con funciones que no conoce.
Gerente de servicio

Los parámetros de la línea de comandos pasan al Exe contenido.
Kazark
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.