/usr/share/doc/p7zip-full/DOCS/MANUAL/switches/sfx.htm is in p7zip-full 9.20.1~dfsg.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<TITLE>-sfx (Create SFX archive) switch</TITLE>
<LINK href="style.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<H1>-sfx (Create SFX archive) switch</H1>
<P>Creates self extracting archive.</P>
<H4>Syntax</H4>
<PRE class="syntax">
-sfx[<A class="parameter" href="#SFX_Module">{SFX_Module}</A>]
</PRE>
<DL>
<DT><A name="SFX_Module"></A>{SFX_Module}</DT>
<DD>
<P>Specifies the SFX module that will be combined with the archive.
This module must be placed in the same directory as the 7z.exe.
If {SFX_Module} is not assigned, 7-Zip will use standard console
SFX module 7zCon.sfx.</P>
<TABLE>
<TR> <TH width="60">SFX_Module</TH> <TH>Description</TH> </TR>
<TR> <TD>7z.sfx</TD> <TD>Windows version.</TD> </TR>
<TR> <TD>7zCon.sfx</TD> <TD>Console version.</TD> </TR>
<TR> <TD>7zS.sfx</TD> <TD>Windows version for installers.</TD> </TR>
<TR> <TD>7zSD.sfx</TD> <TD>Windows version for installers (uses MSVCRT.dll).</TD> </TR>
</TABLE>
</DD>
</DL>
<P>
All SFX modules are uncompressed. You can use UPX program
(http://upx.sourceforge.net)
to compresss such modules. After compressing by the UPX program, the size of the
sfx module will be reduced to 40-50% of its original size.
</P>
<H4>SFX modules for installers</H4>
<P>SFX modules for installers are included in an external package (7z_extra). You can download
these modules from www.7-zip.org. SFX modules for installers (7zS.sfx and 7zSD.sfx)
allow you to create your own installation program.
Such a module extracts the archive to the user's temp folder, and runs a specified program,
and removes the temp files after the program finishes.
A self-extracting archive for installers must be created as joining 3 files:
SFX_Module, Installer_Config, 7z_Archive.
In addition, an optional file, Installer_Config, is allowed. You can use the following command to
create an installer self-extracting archive:</P>
<PRE class="example">
copy /b 7zS.sfx + config.txt + archive.7z archive.exe
</PRE>
<P>An optimally small installation package size can be achieved,
if the installation files are uncompressed before including them in the 7z archive.</P>
<P><SPAN class="filename">-y</SPAN> switch for installer module specifies quiet mode extraction.</P>
<H4>Installer Config file format</H4>
<P>
This config file contains commands for the Installer. The file begins with the string
<B>;!@Install@!UTF-8!</B> and ends with <B>;!@InstallEnd@!</B>.
The file must be written in UTF-8 encoding.
The file contains any or all these string pairs:
<P>ID_String="Value"</P>
<P>
<TABLE>
<TR> <TH width="60">ID_String</TH> <TH>Description</TH> </TR>
<TR> <TD>Title</TD> <TD>Title for messages</TD> </TR>
<TR> <TD>BeginPrompt</TD> <TD>Begin Prompt message</TD> </TR>
<TR> <TD>Progress</TD> <TD>Value can be "yes" or "no". Default value is "yes".</TD> </TR>
<TR> <TD>RunProgram</TD> <TD>Command for executing. Default value is "setup.exe". Substring <B>%%T</B>
will be replaced with path to temporary folder, where files were extracted</TD> </TR>
<TR> <TD>Directory</TD> <TD>Directory prefix for "RunProgram". Default value is ".\\"</TD> </TR>
<TR> <TD>ExecuteFile</TD> <TD>Name of file for executing</TD> </TR>
<TR> <TD>ExecuteParameters</TD> <TD>Parameters for "ExecuteFile"</TD> </TR>
</TABLE>
</P>
<P>You may omit any pair.</P>
<P>There are two ways to run a installation program: <B>RunProgram</B> and <B>ExecuteFile</B>.
Use <B>RunProgram</B>, if you want to run a program from the .7z archive.
Use <B>ExecuteFile</B>, if you want to open a document from the .7z archive, or
if you want to execute a command from Windows.</P>
<P>If you use <B>RunProgram</B>, and if you specify empty directory prefix: <B>Directory</B>="",
the system searches for the executable file in the following sequence:</P>
<OL>
<LI>The directory from which the application (installer) loaded.
<LI>The temporary folder, where files were extracted.
<LI>The Windows system directory.
</OL>
<H4>Config file Examples</H4>
<PRE class="example">
;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
RunProgram="setup.exe"
;!@InstallEnd@!
</PRE>
<BR>
<PRE class="example">
;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
ExecuteFile="7zip.msi"
;!@InstallEnd@!
</PRE>
<BR>
<PRE class="example">
;!@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@!
</PRE>
<H4>Examples</H4>
<PRE class="example">
7z a -sfx a.exe *.txt
</PRE>
<P>adds <SPAN class="filename">*.txt</SPAN> files to self extracting
archive <SPAN class="filename">a.exe</SPAN> using the default console SFX module.</P>
<PRE class="example">
7z a -sfx7z.sfx a.exe *
</PRE>
<P>adds all files to self extracting archive <SPAN class="filename">a.exe</SPAN>
with module <SPAN class="filename">7z.sfx</SPAN> using windows version of SFX mudule.</P>
<H4>Commands that can be used with this switch</H4>
<P>
<A href="../commands/add.htm">a (Add)</A>,
<A href="../commands/delete.htm">d (Delete)</A>,
<A href="../commands/update.htm">u (Update)</A>,
</P>
</BODY>
</HTML>
|