Commands: x=eXtract, a=Add, l=List, u=conditional-Update where conditional means that the source file is NEWER. -r Recursion behavior is totally stupid. 7z x -ofirefox-win "Firefox Setup 3.0.3.exe" 7z a -t7z ..\custom.7z cat 7xSD.sfx + app.tag + custom.7z > OUTPUT-sfx.exe a/u differences. The documented limitations of 'u' regarding Solid archives are not true. Behavior differs ONLY FOR FILES ARCHIVE ARTIFACT new/same AS SOURCE. To create auto-extractor. For Linux, the OOTB 64 bit 7zCon.sfx doesn't work from 64 bit Windows, so must get copy of it from Sourceforge 7z*_extra.7z download. (For sanity rename the the sfx file to indicate version, like 7zCon-922.sfx). From Windows 64: 7z a -sfx7zCon.sfx output.exe inputfiles... From Linux: 7z a -sfxPathTo/7zCon-922.sfx output.exe inputfiles... ** Now it can't find sfx file using path on Linux at all!!! ** Just create on Windows until figure this shit out. For linux you get different binaries to choose from, see "linux.txt". On Windows you get either CLI 7z or graphicals 7zg or 7zfm for file manager.