Створення архіву, що саморозпаковується (SFX).
Aspose.ZIP дозволяє створювати архів, що саморозпаковується (SFX). Це особливий тип заархівованого файлу, який має розширення .exe. Ви можете розпакувати файл, що саморозпаковується, двічі клацнувши його.
Створення архіву, що саморозпаковується
Щоб створити архів, що саморозпаковується, створіть SelfExtractorOptions і передайте його в ArchiveSaveOptions під час збереження.
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 }
Запущений архів, що саморозпаковується
Архів, який ви створюєте, є виконуваним і потребує .NET Framework 2.0 або новішої версії для роботи. Такі фреймворки постачаються з Windows Vista і вище.
Ви можете запустити його як звичайну програму подвійним клацанням або запустити через інтерфейс командного рядка.
Якщо ви хочете розпочати видобування автоматично, укажіть параметр командного рядка -autoExtract
. Зразок:
1 C:\>archive.exe -autoExtract -password:T0p$ecret
Параметри командного рядка для архіву, що саморозпаковується
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" |
Ви можете використовувати ці параметри для створення пакетного сценарію в Windows.