Crear archivo autoextraíble (SFX)
Aspose.ZIP permite crear un archivo autoextraíble (SFX). Este es un tipo especial de archivo comprimido, que tiene una extensión de nombre de archivo.exe. Puede descomprimir un archivo autoextraíble haciendo doble clic en él.
Creación de archivo autoextraíble
Para componer un archivo autoextraíble, cree una instancia de SelfExtractorOptions y pásela a ArchiveSaveOptions al guardar.
1 using (FileStream zipFile = File.Open("archive.exe", FileMode.Create))
2 {
3 using (var archive = new Archive())
4 {
5 archive.CreateEntry("entry.bin", "data.bin");
6 var sfxOptions = new SelfExtractorOptions()
7 {
8 ExtractorTitle = "Extractor",
9 CloseWindowOnExtraction = true,
10 TitleIcon = "C:\pictorgam.ico"
11 };
12 archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
13 }
14 }
Ejecutando archivo autoextraíble
El archivo que produce es ejecutable y requiere .NET Framework 2.0 o superior para ejecutarse. Estos marcos se suministran con Windows Vista y superior.
Puede ejecutarlo como un programa normal haciendo doble clic o ejecutarlo a través de la interfaz de línea de comandos.
Si desea iniciar la extracción automáticamente, especifique la opción de línea de comando -autoExtract
. Muestra:
1 C:\>archive.exe -autoExtract -password:T0p$ecret
Opciones de línea de comando para archivos autoextraíbles
Option | Meaning | Sample |
---|---|---|
-autoExtract | Primary option - without it decompression does not start. Extraction starts automatically, other options apply. | sfx.exe -autoExtract |
-autoClose | Window closes when the extraction is complete. This option only makes sense if -autoExtract option is present. | sfx.exe -autoExtract -autoClose |
-forceOverwrite | Overwrites all existing files without prompt if there are any. This option only makes sense if -autoExtract option present. | sfx.exe -autoExtract -forceOverwrite |
-password: | Provides a password to encrypted entries. This option only makes sense if -autoExtract option is present. If you have spaces within the password quote it. | sfx.exe -autoExtract -password:T0p$ecret |
-destination: | Extracts files to the supplied directory. This option only makes sense if -autoExtract option is present. If you have spaces within the path quote it. | sfx.exe -autoExtract -destination:"C:\My Documents" |
Puede utilizar esas opciones para componer Batch Script en Windows.