Total7zip

Version 0.8.5.3

Packer plug-in based on 7z.dll and 7zG.exe for Total Commander.
Also it works as Content plug-in. (new in 0.7.0.3)
Also it works as Lister plug-in. (new in 0.8.0.9)

Features:

Full support for Unicode and other innovations of the latest Total Commander. 

Total7zip uses 7z.dll for opening archives. It can open files by content - press Ctrl+PageDown on any file and the plug-in will try to find out file's format. The plug-in can handle 7z archives, as well as all the formats that are recognized by 7zip. 7zip v9.20 can read all these files: 
7z, XZ, BZIP2, GZIP, TAR, ZIP, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z. 
For example, you can use Ctrl+PageDown to open chm and iso files.  You can extract audio from flv files. Etc.

Total7zip uses 7zG.exe when you want to compress files, update existing archive or delete files from 7z archive.
You can use 64-bit version of 7zG if you want.

Total7zip supports all languages supported by 7-zip.

Total7zip can create sfx archives.

The plug-in uses original 7-zip files, and you can use the latest version of 7-zip to update the plug-in.

Total7zip allows to use special compression settings that are different from the settings of the installed 7-zip. It can be used with portable installations of Total Commander.

Total7zip can work with a list of known passwords. You can save passwords and the plug-in will use them when it's possible. 

Total Commander can search for files containing given text in all archives supported by Total7zip.

7-zip

7-Zip is licensed under the GNU LGPL license. The latest 7-zip binaries, as well as their sources can be downloaded from the official website of 7-zip.
http://www.7-zip.org/

C++ libraries  boost and pugixml are used.

Installation and setup

Automatic installation is supported - open the archive with the plug-in using Total Commander. 

To install Total7zip as a Content plug-in you need to edit wincmd.ini 
[ContentPlugins]
2=%COMMANDER_PATH%\Plugins\WCX\Total7zip\Total7zip.wcx
2_detect=
 (Use your path and number)

To install Total7zip as a Lister plug-in you need to edit wincmd.ini 

[ListerPlugins]
0=%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
(Use your path and number)

You can use Total7zip with other formats and you can create bzip2, gzip, tar, wim, xz and zip archives as well.
This is like my own PackerPlugins section looks -  
[PackerPlugins]
7z=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
wim=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
xz=731,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
bzip2=731,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
7zip_gzip=731,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
7zip_tar=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
7zip_zip=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
gzip=731,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
tar=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
zip=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
rar=196,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
bz2=196,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
arj=196,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
cab=708,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
flv=708,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
gz=716,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
lzh=735,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx
jar=212,%COMMANDER_PATH%\Plugins\wcx\Total7zip\Total7zip.wcx

I use 7zip_zip when I want create zip file with Total7zip. 7zip_tar and 7zip_gzip woks exactly the same way. 

Configure compression settings for 7z.
If you don't do this, 7zip default settings from registry will be used. 

You should add 
[Packer] 
PluginOverrideZip=1 
to your wincmd.ini, if you want to open zip files with plugin.

Additional options: 

You may want to assign Total7zip to other extensions - use TC Plugins Manager, Total Commander settings, or edit wincmd.ini.

Total7zip stores its settings in the file Total7zip.xml 
If this file doesn't exist, it is created with default settings. 
You can use included Total7zip.template.xml as an example. 

new in Total7zip v0.8.4.0
If Total Commander is started in portable mode, Total7zip.xml will be stored in the plugin folder, as it was in previous versions. 
Default path is %COMMANDER_PATH%\Plugins\WCX\Total7zip\Total7zip.xml 
In all other cases Total7zip.xml will be saved to the directory where Total Commander stores the wincmd.ini.

<?xml version="1.0"?>
<settings>
	<lister_plugin fontColor="0" bgColor="16777215" fontSize="10" fontFx="0" font="Courier New" />
	<gui lang="ru" />
	<debug logLevel="0" />
	<path path_7z_dll="" path_7zG_exe="" />
	<path64bit path_7zG_exe="" path_7z_dll="" />
	<compression save="1" sfx="7z.sfx" updateSfx="0" askByContent="0" askByContentTimeout="1" alwaysWait7zip="0" extractToTempCount="20" deleteToRecycleBin="1" keySimpleMode="-1">
		<settings_7zip Level="0" Archiver="" ShowPassword="0" EncryptHeaders="0">
			<Options />
		</settings_7zip>
	</compression>
	<passwords save="0" />
	<formats save="1" />
	<formatsDisabled />
</settings>

Parameters: 

<lister_plugin fontColor="0" bgColor="16777215" fontSize="10" fontFx="0" font="Courier New" />
Lister plugin settings.
Font – font face.
fontFx – is a sum of these flags
BOLD        1 
ITALIC      2 
UNDERLINE   4 
STRIKEOUT   8 
PROTECTED   16
fontColor – font color (dec)
bgColor – background color (dec)
fontSize – font size

<gui lang="ru" />
Localization. Value "ru" means Russian translation.  
There should be a folder Lang next to the file 7zG.exe and ru.txt file in this folder.
And you can use any other translation – replace “ru” with the file name from Lang folder (without the extension).
English is default language.

<debug logLevel="0" /> new in Total7zip v0.8.3.3
logLevel="0" - disable log (default)
logLevel="1" - log main operations
logLevel="3" - log main operations + each file operations

<path path_7z_dll="" path_7zG_exe="" /> 
path_7z_dll - here you can configure the path to 32-bit version 7z.dll, which is used to open and extract archives in the Total Commander. 
path_7zG_exe - the path to 7zG.exe, default is the same folder as the 7z.dll. 
For example: 
<path path_7z_dll="%COMMANDER_PATH%\archive\7-zip\32bit\7z.dll" path_7zG_exe="="%COMMANDER_PATH%\archive\7-zip\32bit\7zG.exe" />

<path64bit path_7zG_exe="" path_7z_dll=" " />
Total7zip.wcx64 uses these 7-zip libraries. Default values are 64\7zG.exe and 64\7z.dll
You can specify the path to 64-bit version 7zG.exe here.
For example: 
<path64bit path_7zG_exe="%COMMANDER_PATH%\archive\7-zip\64bit\7zG.exe" />
Win32 version of Total7zip detects the 64-bit version of Windows, and if this value is set, uses 64-bit 7zG.exe 
NOTE: For 64-bit version you need a full set of 64-bit files - 7zG.exe, 7z.dll, Lang. 

<compression save="1" sfx="7z.sfx" updateSfx="0" askByContent="0" askByContentTimeout="1" alwaysWait7zip="0" extractToTempCount="20" deleteToRecycleBin="1" keySimpleMode="-1"> new in Total7zip v0.8.3.3
Compression settings. 
save - 1, if you want to keep the compression settings in the Total7zip configuration file. 0 - if you do not want. save="1" makes Total7zip portable.

sfx - here you can specify what sfx module will be used to create self-extracting archives. 

<compression updateSfx="0"
How to update sfx archives.
updateSfx="0" - default. keeps sfx from original archive, as 7zFM does it. 
updateSfx="1" - always updates sfx, this is more safe IMHO.

askByContent - here you can customize the behavior of the plug-in when opening unknown files by Ctrl+PageDown. 
Possible values: 
askByContent = "0" - Total7zip tries to open all files. No questions will be asked. This is the default value. 
askByContent = "1" - Total7zip asks user if he wants to open an unknown file with Total7zip. 
askByContent = "2" – disable "Detect archive type by content" feature.
 
askByContentTimeout - delay, in seconds, controls how much time the plug-in "remembers" your answer "No", if you use askByContent = "1".
The default value is 1 second. 

alwaysWait7zip - controls how to run 7zG. 
alwaysWait7zip = "0" - if possible start packing, deleting and updating archives in the background. 
alwaysWait7zip = "1" - always block the Total Commander, to wait for the completion of the operation. 

extractToTempCount - this value controls how many files Total7zip will extract "in advance" to Temp folder. This should speed up "Find text" process.
Default value is 20, set it to 1 if you want to turn this feature off. 

deleteToRecycleBin="1" - how to handle source files when user uses "Move to archive" option.
deleteToRecycleBin="1" - move files to thr recycle bin.
deleteToRecycleBin="0" - delete files.

<compression keySimpleMode="145" ...
Key codes - ScrollLock (145) or NumLock (144). 
keySimpleMode="-1" - disables Simple Mode. default. like 7zFM.
keySimpleMode="-2" - always use Simple Mode.
In Simple Mode Total7zip opens archive as it is and doesn't search for main file inside archive.
For example - If you configure this parameter as keySimpleMode="145" - you can switch Simple Mode on and off by pressing ScrollLock.

<passwords save="0" /> 
If you enter the password and put the checkbox "save password" - the plug-in will remember the password in the Total7zip.xml.
Saved passwords will be used when opening other archive files before ask user for password. Plug-in tries to use the saved passwords. 
This option only sets the default  state of this check box in Password dialog. 
If you need to delete your saved passwords - remove them from the Total7zip.xml. 

<formats save="1" /> 
save attribute controls whether you want the plug-in to remember what codec was used for an unknown file type. This information speeds up the detection of unknown files on the Ctrl+PageDown. 
value of 1 - to enable self-study. 
0 - disable. 

<formatsDisabled />
this section allows you to disable unneeded formats.
for example:
This will disable PE format handler for exe files.
<formatsDisabled> 
<format description="PE" guid="{23170F69-40C1-278A-1000-000110DD0000}"> 
<ext val="exe" /> 
</format> 
</formatsDisabled>
This will disable PE format handler for all files (exe, dll, ax, etc.).
<formatsDisabled> 
<format description="PE" guid="{23170F69-40C1-278A-1000-000110DD0000}" /> 
</formatsDisabled>

If you edited Total7zip.xml restart Total Commander to apply new settings.
Support

Feel free to post your comments here:
http://www.ghisler.ch/board/viewtopic.php?t=28125