mirror of
https://github.com/hashcat/hashcat.git
synced 2024-12-28 17:38:32 +00:00
167 lines
5.3 KiB
Plaintext
167 lines
5.3 KiB
Plaintext
7-Zip for installers 9.38
|
||
-------------------------
|
||
|
||
7-Zip is a file archiver for Windows NT/2000/2003/2008/XP/Vista/7/8/10.
|
||
|
||
7-Zip for installers is part of LZMA SDK.
|
||
LZMA SDK is written and placed in the public domain by Igor Pavlov.
|
||
|
||
It's allowed to join 7-Zip SFX module with another software.
|
||
It's allowed to change resources of 7-Zip's SFX modules.
|
||
|
||
|
||
HOW to use
|
||
-----------
|
||
|
||
7zr.exe is reduced version of 7za.exe of 7-Zip.
|
||
7zr.exe supports only format with these codecs: LZMA, LZMA2, BCJ, BCJ2, ARM, Copy.
|
||
|
||
Example of compressing command for installation packages:
|
||
|
||
7zr a archive.7z files
|
||
|
||
7zSD.sfx is SFX module for installers. 7zSD.sfx uses msvcrt.dll.
|
||
|
||
SFX modules for installers allow to create installation program.
|
||
Such module extracts archive to temp folder and then runs specified program and removes
|
||
temp files after program finishing. Self-extract archive for installers must be created
|
||
as joining 3 files: SFX_Module, Installer_Config, 7z_Archive.
|
||
Installer_Config is optional file. You can use the following command to create installer
|
||
self-extract archive:
|
||
|
||
copy /b 7zSD.sfx + config.txt + archive.7z archive.exe
|
||
|
||
The smallest installation package size can be achieved, if installation files was
|
||
uncompressed before including to 7z archive.
|
||
|
||
-y switch for installer module (at runtime) specifies quiet mode for extracting.
|
||
|
||
Installer Config file format
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
Config file contains commands for Installer. File begins from string
|
||
;!@Install@!UTF-8! and ends with ;!@InstallEnd@!. File must be written
|
||
in UTF-8 encoding. File contains string pairs:
|
||
|
||
ID_String="Value"
|
||
|
||
ID_String Description
|
||
|
||
Title Title for messages
|
||
BeginPrompt Begin Prompt message
|
||
Progress Value can be "yes" or "no". Default value is "yes".
|
||
RunProgram Command for executing. Default value is "setup.exe".
|
||
Substring %%T will be replaced with path to temporary
|
||
folder, where files were extracted
|
||
Directory Directory prefix for "RunProgram". Default value is ".\\"
|
||
ExecuteFile Name of file for executing
|
||
ExecuteParameters Parameters for "ExecuteFile"
|
||
|
||
|
||
You can omit any string pair.
|
||
|
||
There are two ways to run program: RunProgram and ExecuteFile.
|
||
Use RunProgram, if you want to run some program from .7z archive.
|
||
Use ExecuteFile, if you want to open some document from .7z archive or
|
||
if you want to execute some command from Windows.
|
||
|
||
If you use RunProgram and if you specify empty directory prefix: Directory="",
|
||
the system searches for the executable file in the following sequence:
|
||
|
||
1. The directory from which the application (installer) loaded.
|
||
2. The temporary folder, where files were extracted.
|
||
3. The Windows system directory.
|
||
|
||
|
||
Config file Examples
|
||
~~~~~~~~~~~~~~~~~~~~
|
||
|
||
;!@Install@!UTF-8!
|
||
Title="7-Zip 4.00"
|
||
BeginPrompt="Do you want to install the 7-Zip 4.00?"
|
||
RunProgram="setup.exe"
|
||
;!@InstallEnd@!
|
||
|
||
|
||
|
||
;!@Install@!UTF-8!
|
||
Title="7-Zip 4.00"
|
||
BeginPrompt="Do you want to install the 7-Zip 4.00?"
|
||
ExecuteFile="7zip.msi"
|
||
;!@InstallEnd@!
|
||
|
||
|
||
|
||
;!@Install@!UTF-8!
|
||
Title="7-Zip 4.01 Update"
|
||
BeginPrompt="Do you want to install the 7-Zip 4.01 Update?"
|
||
ExecuteFile="msiexec.exe"
|
||
ExecuteParameters="/i 7zip.msi REINSTALL=ALL REINSTALLMODE=vomus"
|
||
;!@InstallEnd@!
|
||
|
||
|
||
|
||
Small SFX modules for installers
|
||
--------------------------------
|
||
|
||
7zS2.sfx - small SFX module (GUI version)
|
||
7zS2con.sfx - small SFX module (Console version)
|
||
|
||
Small SFX modules support this codecs: LZMA, LZMA2, BCJ, BCJ2, ARM, COPY
|
||
|
||
Small SFX module is similar to common SFX module for installers.
|
||
The difference (what's new in small version):
|
||
- Smaller size (30 KB vs 100 KB)
|
||
- C source code instead of <20>++
|
||
- No installer Configuration file
|
||
- No extracting progress window
|
||
- It decompresses solid 7z blocks (it can be whole 7z archive) to RAM.
|
||
So user that calls SFX installer must have free RAM of size of largest
|
||
solid 7z block (size of 7z archive at simplest case).
|
||
|
||
How to use
|
||
----------
|
||
|
||
copy /b 7zS2.sfx + archive.7z sfx.exe
|
||
|
||
When you run installer sfx module (sfx.exe)
|
||
1) It creates "7zNNNNNNNN" temp folder in system temp folder.
|
||
2) It extracts .7z archive to that folder
|
||
3) It executes one file from "7zNNNNNNNN" temp folder.
|
||
4) It removes "7zNNNNNNNN" temp folder
|
||
|
||
You can send parameters to installer, and installer will transfer them to extracted .exe file.
|
||
|
||
Small SFX uses 3 levels of priorities to select file to execute:
|
||
|
||
1) Files in root folder have higher priority than files in subfolders.
|
||
2) File extension priorities (from high to low priority order):
|
||
bat, cmd, exe, inf, msi, cab (under Windows CE), html, htm
|
||
3) File name priorities (from high to low priority order):
|
||
setup, install, run, start
|
||
|
||
Windows CE (ARM) version of 7zS2.sfx is included to 7-Zip for Windows Mobile package.
|
||
|
||
|
||
Examples
|
||
--------
|
||
|
||
1) To create compressed console 7-Zip:
|
||
|
||
7zr a c.7z 7z.exe 7z.dll -mx
|
||
copy /b 7zS2con.sfx + c.7z 7zCompr.exe
|
||
7zCompr.exe b -md22
|
||
|
||
|
||
2) To create compressed GUI 7-Zip:
|
||
|
||
7zr a g.7z 7zg.exe 7z.dll -mx
|
||
copy /b 7zS2.sfx + g.7z 7zgCompr.exe
|
||
7zgCompr.exe b -md22
|
||
|
||
|
||
3) To open some file:
|
||
|
||
7zr a h.7z readme.txt -mx
|
||
copy /b 7zS2.sfx + h.7z 7zTxt.exe
|
||
7zTxt.exe
|