Unpack

Extract files from inside your script, an archive, or from a URL to a program folder in your project.

Syntax 1

Unpack,[Section],[Archive],[Option],[Target],[ProgramFolder],[Filename]

Parameters

1 Section This is the section in %ScriptFile% which contain the encoded files to extract. (default value = Folder)
2 Archive Use this if you want extract an archive (only archive supported by 7z.exe, even an achive in exe format)
3 Option If Parameter 2 is
archive (zip,7z,rar) - Set it to False if you don't want to delete the archive (default value = True)
SFX archive (exe) - Set it to -y for silent extraction
empty - If you want extract only one file from section rather all files set its name here
4 Target First part to select where to extract files, generaly one of this four values :
%TargetDir% - Root
%Target_Prog% - \Program Files (default value = %Target_Prog%)
%Target_Win% - \I386 or \Windows
%Target_Sys% - \I386\System32 or \Windows\System32
5 ProgramFolder Second part to select where to extract files (subfolder) (default value = %ProgramFolder%)
6 Filename This is use for test if exist %ScriptDir%\ProgramFolder\[Filename], if true exit Unpack and copy files from there by CopyProgram command. (default value = %ProgramEXE%)

Syntax 2

Unpack,[Filename],Action,[Param3],[Param4],[Param5]

Parameters

1 Filename Depending on Action : FullFilename of Script, Archive or Web Link (default value = %SrciptFile%)
2 Action If parameter 2 not match with one of following word syntax 1 is used
All - Extract All Files from Script set in parameter 1
-All - Extract All Files but only If they Not Exist from Script set in parameter 1
One - Extract only One File ( the file set in parameter 4) from Script set in parameter 1
Archive - Extract an Archive (set in parameter 4) and delete Archive
-Archive - Extract an Archive (set in parameter 4) but don't delete Archive
SFX - Extract a SFX Archive (set in parameter 4), execute and delete the SFX Archive
UnZip - Unzip an Archive file (from filename set in parameter 1) with 7x.exe
URL - Download and Unzip Archive file (from link set in parameter 1) and delete Archive file
-URL - Download and Unzip Archive file (from link set in parameter 1) but don't delete Archive file
3 Param3 If Action equal :
All or -All or One or Archive or -Archive or SFX then use this parameter to set the section inside the Filename set in parameter 1 which contain the encoded files to extract. (default value = Folder)
UnZip - Use this parameter to set the target where you want to UnZip Files from inside the Archive set in parameter 1 (default value = %Target_Prog%\%ProgramFolder%)
URL - Use this parameter to set the target where you want Download and UnZip files from the Archive set in parameter 1 (default value = %Target_Prog%\%ProgramFolder%)
-URL - Set here the target where you want UnZip Files (from Downloaded Archive saved in parameter 4) set in parameter 1 (default value = %Target_Prog%\%ProgramFolder%)
4 Param4 If Action equal :
All or -All - Set here the target where you want Extract Files from Script set in parameter 1 (default value = %Target_Prog%\%ProgramFolder%)
One - Set here the filename you want extract from section set in parameter 3 from Script file set in parameter 1 (no default value , must be set)
Archive or -Archive - Set here the Archive filename you want extract from section set in parameter 3 from Script file set in parameter 1 (no default value , must be set)
SFX - Set here the SFX Archive filename you want extract from section set in parameter 3 from Script file set in parameter 1 (no default value , must be set)
UnZip or URL - Nothing for this Action
-URL - Set here the target where you want store the downloaded archive (default value = %ProjectTemp%)
5 Param5 If Action equal :
One or Archive or SFX or -Archive - Set here the target where you want Extract Files (default value = %Target_Prog%\%ProgramFolder%)

Remarks

The Unpack command will use the folder called "Folder" as default place to keep all files that you attached using the "Create script" tool

default value for empty parameters are used if they are needed, so this command would become :

Unpack,Folder,,%Target_Prog%,%ProgramFolder%,%ProgramEXE%

since the variable %Target_Prog% (defined in Script.project) is the "Program Files" folder, and the variables %ProgramFolder% and %!ProgramEXE% should be defined in section Variables of your script.

Only when an archive(7z,zip,rar - not for SFX archive) is set in parameter 2, the first thing that Unpack do, is look in %ScriptDir%\%ProgramFolder% if the file given in parameter 6 (default value = %ProgramExe%) exist. If the file exist, all files in this folder are copied by CopyProgram rather extracted from %ScriptDir%.

Tips

If you want Unpack files in %Target_Sys% you can use a point (.) as parameter 5

Unpack,,,,%Target_Sys%,.

is same as

Unpack,,,,%Target_Win%,System32

Example (Syntax 1)

Unpack all files from section Folder to Program Files\%ProgramFolder%

Unpack

Unpack Archive.7z from section Doc to Program Files\%ProgramFolder%\Help (unzip the archive and delete it after)

Unpack,Doc,Archive.7z,,,%ProgramFolder%\Help

Unpack Archive.7z from section Doc to Program Files\%ProgramFolder%\Help (but don't unzip the archive)

Unpack,Doc,,Archive.7z,,%ProgramFolder%\Help

Unpack an Archive SFX (prog.exe ) from section Folder to Program Files\%ProgramFolder% ( after prog.exe is extracted, it is run with the parameter -y and then deleted)

Unpack,,prog.exe,-y

Unpack one file(myfont.ttf) from section Fonts to I386\Fonts or Windows\Fonts

Unpack,Fonts,,myfont.ttf,%Target_Win%,Fonts

==Example== (Syntax 2) Unpack all files from %ScriptFile% from section Folder to Program Files\%ProgramFolder%

Unpack,,All

Unpack Archive.7z from %ScriptDir%\other.script from section Doc to Program Files\%ProgramFolder%\Help (unzip the archive and delete it after)

Unpack,%ScriptDir%\other.script,Archive,Doc,Archive.7z,%Target_Prog%\%ProgramFolder%\Help

Unpack Archive.7z from %ScriptFile% from section Doc to Program Files\%ProgramFolder%\Help (but don't unzip the archive)

Unpack,,-Archive,Doc,Archive.7z,%Target_Prog%\%ProgramFolder%\Help

Unpack an Archive SFX (prog.exe ) from %ScriptFile% from section Folder to Program Files\%ProgramFolder% ( after prog.exe is extracted, it is run with the parameter -y and then deleted)

Unpack,,SFX,,prog.exe

Unpack one file(myfont.ttf) from %ScriptFile% from section Fonts to I386\Fonts or Windows\Fonts

Unpack,,One,Fonts,myfont.ttf,%Target_Win%\Fonts

UnZip an Archive from %ScriptDir%\Test.7z to Program Files\%ProgramFolder%

Unpack,%ScriptDir%\Test.7z,UnZip

Download an archive from http://www.mysite.com/test.7z to Program Files\%ProgramFolder% and delete test.7z after UnZip it

Unpack,http://www.mysite.com/test.7z,URL

Download an archive from http://www.mysite.com/test.7z to %GlobalTemplates%\Apps\%ProgramFolder% but only if not exist test.7z in %GlobalTemplates%\Apps\%ProgramFolder% and UnZip test.7z from %GlobalTemplates%\Apps\%ProgramFolder% to I386\System32 or Windows\System32 (test.7z is not deleted)

Unpack,http://www.mysite.com/test.7z,-URL,%Target_Sys%,%GlobalTemplates%\Apps\%ProgramFolder%