Copyright: MultiArc for TotalCommander ©2000-2003 by Siarzhuk Zharski, © 2005-2007 by  Multiarc Team
Citation: Citation from MultiArc for TotalCommander Help © 2000-2003 by Siarzuk Zharski, © 2005-2007 by  Multiarc Team


 Quick Info: Use the following links to read a detailed explanations and descriptions about MultiArc installation, it's configuration and history, people that was involved in process of testing, using and improving.

 MultiArc License

 How to install MultiArc

   Visual Configuration

 Reference for multiarc.ini

 Reference for Language file (*.lng)

 History of changes

 Known problems

 Hall of Fame

What is MultiArc?

MultiArc is archiver plug-in for Total Commander - famous file manager for Windows. The main idea of MultiArc is using external command line utilities to work with archives from Commander. In other words, MultiArc just translates the commands from Commander to calls of external archiver utilities. Thanks to flexibility of MultiArc's configuration it's not very difficult to add support fro new archiver into Commander. All you need - just add new section to multiarc.ini file with required commands and archive-type descriptions. After installing MultiArc and configuring it, you'll be able to work with many archive types, that is not supported natively by Commander. And you, also will be able to add new ones just by adding new entries into multiarc.ini

If you have any suggestions about functionality or want to report me some bugs - feel free contact me. You can write me in Russian or English.

http://wcx.sourceforge.net

mailto: vserd@users.sourceforge.net (Vladimir Serdyuk)

(c) 2000-2003 by Siarzhuk Zharski

(c) 2005-2007 by Multiarc Team


Installing MultiArc

How to install MultiArc:

 First of all you need to unzip the contents of distribution archive to directory where you want MultiArc to live. There are two methods of configuring MultiArc:

"Visual" configuration

From version 1.1.0 it is possible to use Configuration dialog for working with archiver settings. See following link for details:

 Configuration Dialog

"Old-style" manual configuration:

1. Edit multiarc.ini to setup archive types. Additional archivers addons you can can find in "addons" subdirectory of distribution archive. Just copy and paste required INI-file sections from .addon to multiarc.ini. Note that, almost always you'll need to change the "Archiver" key. It should reflect the real placement of external archiving utilities on your system.

2. Now run Commander and choose Configuration - Options, open the 'Packer' page,  click 'Configure packer extension DLLs'.

3. Now type the extension that configured archiver should use, than click 'new type', and select the proper version of multiarc.wcx. Click OK.

The installation of one archiver is complete. If you want to register more archivers - repeat this procedure.


Configuration Dialog

 MultiArc configuration dialog is a tabbed dialog and contains following pages. You can get this dialog during try to pack some files with MultiArc-supported archives (Press Configure button) or by manual call (see details at bottom of this page).

About page

On this page you can see a very significant information: The e-mail address of Author and the homepage URL, that you can use to look for MultiArc updates. There is also information about used version of MultiArc, some credits and copyright information. Look on it now!

Addons page

This page helps in work with all addons, registered in currently used multiarc.ini

 Addons page

Settings page

Here are some global MultiArc - related settings, console modes and options.

 Settings page

Language page

Here can choice the language of plugin interface.

 Language page

TIP : How to call Configuration dialog externally.

From version 1.1.0 you can open plugin configuration dialog by running following command from Windows command-line:

rundll32 multiarc.wcx, Settings

A small hint: You can set-up "Start" menu or button bar of Windows Commander to call this command. NOTE: Current directory should be set into that one where multiarc.wcx live. Yet another small hint - there is a icon for toolbar inside multiarc.wcx - try it!

WARNING!!!

If you configure multiarc through rundll32, please set a correct way to main configuration file Total Commander (Menu, Help, About, INI-files). Otherwise function of register/unregister addon, will work not correctly.


Configuration. Addons

 The better way to learn about controls - run config dialog and use "question" button on caption of dialog window - left of close button.

Type

The type of archiver. This value correspond to TypeName key . The field right of this combobox shows contents of description key . There is a special case of addon with name MultiArc - "The general settings". In this entry you can editglobal settings. Global settings will be used if addon have no defined corresponding local settings. See %S-Parameter handling below.

Path

This edit control shows to you the contents of Archiver key  and allows to edit it. The button right of it opens standard file selection dialog to help you look for required binaries.

Status

This field displays information about current registration of this addon with Commander. It reads required information from wincmd.ini and show to you is this addon registered and for with file extensions it is registered. The button "Change" just left of this field shows Capabilities Dialog  that allows to edit some possibilities of this addon.

%S-Parameters handling

This group of controls helps in setting up %S-Parameters . You can activate or deactivate this functionality, change behavior of this functionality by combobox and exclude or include %S-Parameter handling for LIST command calls.

NOTE: There is a small issue with "For next command" mode. This mode works only for next call and will be to "Never" after this call performed. So do not be surprised if this mode will be never saved !!!

Import Addon

This button helps you to import archiver descriptions from external *.addon files.

Remove type

This button helps you to remove unneeded archive type descriptions from multiarc.ini.

Edit multiarc.ini

This button runs the current system editor for multiarc.ini. You can make any changes in nultiarc.ini manually. But you have to close that editor session before continue configuring MultiArc. Do not be surprised with some dialog with "Terminate" button.


Configuration. Settings

 Console behavior - selects console behaviour mode

never - the console will never shown

if defined (%C) - the console will shown only if %C-parameter is defined for command

always - the console will always shown

exclude LIST calls If checked the console will not shown on executing LIST commands

Minimize to tray - keeps minimized console window in system tray area.

Automatically close/minimize - automatically close console window after running command is finished

Delay before opening - delay in seconds before popping up the console window.

Console height - console window will contains no more than this amount of lines. If set to 0 (zero) or empty - no check for lines will be performed - all lines stays untouched.


MultiArc configuration. Language

Here you can set the plugin's language. In case the _BOLD(Lang) folder is absent in the plugin's directory, the plugin's language is English.

Language – This dropdown list contains all availible languages with language files next to them. Language files are in plain text format, so if you know a better translation, you can replace the existing one using any text editor, eg. Notepad (language files are located in Lang subfolder of the plugin's folder)

Please send your version of the translation to the author, he will probably add it to the next version.

Language file info – All parameters in this section are not required, translation authors can fill them at will.

Version – language file version is displayed. (it helps users to find the last translation version)

Last edit -  Date of the latest modification.

Copyright - Translation copyrigths.

Authors - Translation author or authors.

Other info - information that author(s) considered necessary to add.

Contact info - author's email, or any other contact information.

License -  language file's publication license.

See more info at [image] Language file reference


Capabilities Dialog

 This dialog allows to register addons with Commander. The registration mean adding / replacing the entry in [PackerPlugins] section of wincmd.ini. Here also possible to change some parameters used by Commander during working with this archive type. Note that editing much of them is not a good idea. Just text search support and hide icon features is useful. Other are dependent on Commmander and I do not recommend do something with them. Use context help for more detailed descriptions of controls.Note: If you want to create and, maybe, edit archives of certain types, you must associate file extensions that correspond to these types with the plugin. In case you need only to unpack archives you need a single line in the [PackerPlugins] section of wincmd.ini. You can associate the plugin with any extension. See also:The way Total commander chooses an archive plugin to handle the file .


The way Total commander chooses an archive plugin to handle the file

Note: The information on how Total Commander chooses the plugin to handle a file was obtained from Total Commander's work analysis. Total Commander's author never published such information.

Archivator plugin choice is made this way:

1. Total Commander checks whether it can process a file with the given extension.

2. If it can do this, processing is done. No further search is made.

3. If it can't, then it searches for the given extension in [PackerPlugins] section of the wincmd.ini file

4. If the extension is found there, the file is carried on to the associated plugin, and plugin search is finished. Even if the plugin returns an error because it is meant for a different type of files, no further search is made.

Example: 'EXE' extension. This extension represents not just "ordinary" programs, but also self-extracting archives. There are different types of self-extracting archives, such as RAR, ZIP. MS CAB, Install Shield distributives, InnoSetup and so on.

5. If the extension isn't found, then Total Commander tries every record of plugin from [PackerPlugins] section of the wincmd.ini file, beginning from the first one. If a plugin can handle the file, it responds to Total Commander, no further search is made. After all plugins are tried Total Commander doesn't do anything.

The conclusion from here follows: you need just one per plugin record in [PackerPlugins] section of the wincmd.ini file for successful functioning of several plugins.

The extension associated with the plugin is not important at all.

If an extension has several assitiations, Total Commander's chioce will be the firstone from [PackerPlugins] section of the wincmd.ini file.

Total Commander also uses records from [PackerPlugins] section of the wincmd.ini file for packing files. You can choose an archive type from the drop-down list in "Files->Pack..." dialog and create an archive of that type.

When applying to MultiArc this means that You need to associate only those types of Addons that You wish to use for archive creation. For unpacking archives you need any single association mentioning MultiArc in [PackerPlugins] section of the wincmd.ini file.


Multiarc.ini reference

What is multiarc.ini?

 All settings of MultiArc is stored in multiarc.ini file. This file is standard Windows INI-file. It contains some sections. Those sections contains keys - the pairs of strings separated by equality sign. Those files is text files and can be edited by every text editor. Every archiver, supported by MultiArc must be described as a separate section in multiarc.ini. See below for detailed info about its structure. There is also special section with name "MultiArc". This sections contains settings that applicable for all archivers - i.e. general settings

The structure of typical archiver description section:

[TypeName]

Parameter = Value of parameter

Pattern = String representing a pattern

Command = String representing a command

Flag = 0 or 1 depending on state of this flag

TypeName is a short name for archive type. It is required and must be unique.

Example:

[ARJ]

Parameters

Archiver Path to archiver utilit. Pach can contain enviropment variable such as %WINDIR% or %COMMANDER_PATH%.

ID (optional) archive ID (2-digit hex numbers delimited with spaces).

IDPos (optional) ID position in archive. If not present, ID will be searched in starting part of archive. You can define the positions with "-" sign. In this case the positions will be calculated from end of file. Special value <SeekID> determinated search ID if not found by numeric values of IDPos. Seek in range 0 - (Smalest of Size of file or IDSeekRange). Values can be writed as decimal (12345) or heximal (03039). For negative values use notation 0xFFFFFFFF (-1).

IDSeekRange (optional) count of bytes where ID seek if defined <SeekID>. By default IDSeekRange = 1Mb. See IDPOS.

ExcludeIDs (optional) Signatures if found in file, file defined as the "process imposible".

This opportunity entered for correct process files, generated  InnoSetup, NSIS (NullSoft Instalation System) or other.

Algoritm of working of parameter:

If fount ID from ID, then check ExcludeIDs.

if found any exclude ID, then file not support by Archiver.

Param format: (Signature, [offset], [Absolute]),(Signature, [offset], [Absolute]), .... (Signature, [offset], [Absolute]).

Where:

Signature -- sequence of byte for find.

Absolute -- (optional) Absolute (1) or relative (0) offset. By default = 0.

If 1, then offset start from begin fiel (if Offset >= 0), or end of file (if Offset <0).

If 0, then offset start from relative founded ID. See also description of param Offset.

Offset -- (optional) Offset relatively current ID (if = 0, see from begin of ID, if >0 then on offset byte forward (to end of file) from begin signature (ID), if <0 then on offset byte backwards (to begin of file) from begin signature. By default = 0. See also description of Absolute.

Example for ExcludeIDs.

ID= 01 02 03 04, 01 03 02

IDPOS = 5

ExcludeIDs= (00, -1), (01 02 03 04 05,0), (06,5), (07,11, 1), (08,-1, 1)

MultiArc will definedetermine that the file can to be processed if has coincided though one signature from ID, and signatures from ExcludeIDs have not coincided.

In this example will files which are accepted comprise sequence of byte (xx in the given example any byte):

0  1  2  3  4  5  6  7  8

xx xx xx xx xx 01 02 03 04

xx xx xx xx xx 01 03 02 xx

but files which are rejected contain

0  1  2  3  4  5  6  7  8  9  10 11 12 13

xx xx xx xx 00 01 02 03 04 xx xx xx xx xx      rule 00, -1

xx xx xx xx 00 01 03 02 xx xx xx xx xx xx

xx xx xx xx xx 01 02 03 04 05 xx xx xx xx      rule 01 02 03 04 05,0

xx xx xx xx xx 01 02 03 04 xx xx xx xx 06      rule 06,5

xx xx xx xx xx 01 03 02 xx xx xx xx 06 xx

xx xx xx xx xx 01 02 03 04 xx xx 07 xx xx      rule 07,11, 1

xx xx xx xx xx 01 03 02 xx xx xx 07 xx xx

0  1  2  3  4  5  6  7  8                 EOF

xx xx xx xx xx 01 02 03 04 .............. 08   rule 08,-1, 1

xx xx xx xx xx 01 03 02 xx .............. 08

Extension archive format extension (without dot).

Note:All above parameters can be defined with multiple values. You can use comma to separate those multiple values.

Description archive description. A short string - version, author etc.

Example:

ID = 00 FF, CC DD, 55 EF 32 12,

IDPos = 0, 0xd, -6, <SeekID>

Extension = hhh, hpj, tzu

Description="PivkARC v7.1365 (c) by Kon' Petrovich"

The archives in this example will be checked in the following manner.

Set to pos 0 and check for every ID defined in ID parameter. Than go to pos 13 and check for all IDs again and try will be at pos 6 before the end of file and last try find IDs in range 0--SizeOfFile or 0--IDSeekRange, or 0--1Mb. If at some of this checks the file will contains some of ID this file will be assumed as supported by this archiver.

Patterns

Start(optional) any part of line in listing after which processing

End (optional) any part of line in listing to stop processing of files list.

Note for Start and End patterns: If text started from '^', it will be compared from second symbol with lines beginning. Otherwise text looked anywhere in lines.

Format0 ... Format<n> - files listing format. If file description in archive listing contains multiple lines use corresponding format keys count. You can define up to 50 format lines.

Format strings description

Example:

Start="^-------"

End="^Total files listed: "

Format1="zzzzzzzzzz aaaaa                        yyyy tt dd hh mm ss"

Format2=" "

Commands

List - produce listing.

Extract - extract file from archive.

ExtractWithPath - extract file(s) from archive with full path.

Note for extract commands: If BatchUnpack flag is set to 1 the second one will be used.

Test - test archive.

Delete - delete file from archive.

Add - add file to archive.

Move - move file to archive.

InputString - insert some string into archivers utility input stream. This is used to emulate pressing some keys at start of archiver. Used for some shareware utilities that requires press Y before work. =-)

Note: All command excluding InputString use command definition format

Flags

IgnoreErrors if active - archiver commands exit code will be ignored. Use with caution.

SkipEmpty files with empty names will not be added to list

SkipDirsInFileList do not add directory entries in file-list

SearchForUglyDirs try this when your archiver produce listings where directory entries doesn't have trailing '\'-shes. this option force MultiArc to search for this ugly dirs and correct list to make it understandable for Commander. Do not use this key if you not REALLY NEED it - it may slow down performance of operating ...

BatchUnpack if activate MultiArc will not unpack all files singly one by one as Commander want. Instead it will unpack this files at "archive closing phase" in one list by ONE call of archiver utility. This option is VERY useful for "solid" archives ... But ... there are some visual confusions using this mode - unpacking progress will show not real percentage ... See also Known bugs  for more info on BatchUnpack problems.

UnixPath if paths in output list in Unix format - activate this

Debug if this flag activated - all archiving utility output will be written to log file, laying in same directory as multiarc.wcx and named "multiarc.%TYPENAME%.log" where %TYPENAME% is TypeName of corresponding archiver description. If some list files used in commands, those files also will be not removed after performing command. Look into %TEMP%/$mltwcx directory for those files. Activate this flag only if you going to track all activity. It is needed during writing new addons. Do not use it if you not need it! This log file can eat your free disk space very quick! =-) You warned.

SkipSfxHeader default false. Determines whether to skip the SFX part of the archive during archive ID search. Example:

7z SFX-Archive, the archive itself is located after the FSX part, so it can be skipped. SkipSfxHeader = 1.

InnoSetup Installation. ID is in the SFX part of the file, so it is not necessary to skip it.SkipSfxHeader = 0.


Format parsing

 To parse file listing MultiArc uses FormatN-pattern. If file list uses some strings to output information about every file in the archive use corresponding count of Format-patterns. The Format-pattern is a string defining mask for extraction information from single strings of files list. It uses following symbols to define pattern:

;  n - file name

;  . - remove trailing spaces from file name and append name with dot

;  z - unpacked size

;  c - file description

;  p - packed size

;  d - day

;  t - month

;  TTT - three letters month name (Jan, Feb, Mar, ...)

;  y - year

;  h - hours

;  H - hours modifier letter (a - a.m. time, p - p.m. time)

;  m - minutes

;  s - seconds

;  a - attributes

;  e - file extension

;  * - skip until first space or end of line

Example:

The part of JAR output log:

346) install\f_0286

      3656 A.... Win-32  Solid    1-1   2002-07-11 13:36:26 2002-12-09 20:41:20

                           26                               2002-12-09 00:00:00

347) install\f_0287

     11323 A.... Win-32  Solid    1-1   2002-07-11 13:36:26 2002-12-09 20:41:20

                           26                               2002-12-09 00:00:00

and corresponding format patterns:

Format0="* nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"

Format1="zzzzzzzzzz aaaaa                        yyyy tt dd hh mm ss"

Format2=" "


Command definition format

 Command is string that contains variables. Those variables has the "%"-sign before them and will be substituted during command call.

The list of command variables:

  %P - long name of archiving utility (as it is in "Archiver" key)

  %p - short name of archiving utility (as it is in "Archiver" key)

  %A - long name of archive file

  %a - short name of archive file

  %L - Filelist name. Filelist is the file containing names of files

       to be processed by the external archiver. File names is long

  %l - Filelist with short file names.

  %F - The name of a single file to process. The archiver will be

       executed several times until all file names are exhausted.

       This variable should be used only if the destination archiver

       does not support filelists on the command line.

  %E<errorlevel> - maximum acceptable command errorlevel.

       For example, %E2 indicates that errorlevels 0, 1 and 2

       are acceptable. This variable may be specified in any place

       of command. If it is absent, only errorlevel 0 is considered

       as successful.

  %O - by default, multiarc convert archiver output from OEM encoding to ANSI.

       Applying it skip encoding.

  %R - Target subdirectory IN archive

  {} - if some variable is enclosed in braces - it'll be added only if

       this variable will contain something non-empty. See MsCAB addon

       for example using. WARNING - Now works only with %R variable.

  %S - Depends on modes, set in configuration dialog, MultiArc will ask

       user about additional command-line parameters should be passed

       in-place of %S

  %C - Do not hide console window during running external archiver utilities.

       The console settings has more configuration options - see configure dialog.

  Variable modifiers Q, q, W, P, A can be used to change file names

  format details:

  Q - quote names with spaces;

  q - quote all names;

  W - use name only, without path;

  P - use path only, without name;

  A - use ANSI encoding.

  These modifiers may be specified immediately after variables without

  spaces.

See the addons for real examples of commands.

Note:

 If archiver utility located in path with non English chars, and you see message like this:

"Executing command 'C:\Documents and Settings\ a(r)\ ?(r)c?(c) aa(r)"\7za.exe -r0 l D:\same path\7zSfx.7z' returned errorlevel -1. Possibly an error occurred. Archive listing wasn't retrieved."

or like this:

"Executed command 'C:\Documents and Settings\ a(r)\ ?(r)c?(c) aa(r)"\7za.exe -r0 l D:\same path\7zSfx.7z' returned errorlevel -1, which is higher than configured as normal for this command. Probably error occurred. Check your configuration, please..."

Replace in Multiarc.ini on section appropriate archiver parameters Extract, ExtractWithPath, Test, Delete, Add from %P to %PA or %PQA.


Language file reference

 A language file translates the plugin to the corresponding language.

The file is a simple Windows-INI with the .lng extension

Language files must be in subfolder Lang of the plugin folder.

Default language for the plugin is English. The source file for localization is English.lng - use it as a reference for translation if You want to,

The selected language is stored in LanguageFile parameter of the multiArc.ini file.

 The .lng file reference

All parameter values must be written in a single line (it's a restriction of the WIN API).

Authoring section contains information about translation Author(s).

All parameters in this section are optional, but please set some of them anyway.

Author - translation author(s).

Copyright - Copyright info.

Version - version of language file. Please set this parameter to make finding new versions of the language file easier.

DateEdit - Last editing date.

License - License.

OtherInfo - Other info, at Your will.

ContactInfo - Contact info (email, web site). Please set this parameter for user support: questions on the translation, new versions etc.

The Lang section contains the translation itself, the language name and path to the corresponding help file.

Name - Language name. Format: Name_of_translation_language_on_original_Language (Name_of_translation_on_English).Sample: Ðóññêèé (Russian)

HelpFile - Help file name. File must be in the plugin folder. If the parameter is absent or empty, MultiArc.hlp (English) is used.All number parameters are translations. Sample:

1=Save

2=Cancel


MultiArc revisions history

Legend:

! - important information

+ - feature added

- - feature removed

? - problem stay on

* - bug fixed

======================================================

29/07/2007 ver 1.4.1.6

* Fix error "Recursion too Deep; the stack overflowed"

======================================================

26/07/2007 ver 1.4

+ IDPOS in addon can have hex values (like 0x12345), decimal values supported too

! Add support enviropment variable %COMMANDER_INI%

* Fix bug If import Addon via GUI, show message "Do you want to import addon for      type(-s): [ s ]?", intand [ s ] shuld be names of section in Addon.

* Replace limit from 4096 to 65536 bytes in import line.

======================================================

16/05/2006 ver 1.3.0.4 beta

* fix bug if try enter in file with zero lenght

* fix bug if sfx-part of archive compresed with EXE-Paker, do not always enter to arhive.     Thanks to arsvrn for report of this bug

* Fix bug If import addon contaning more 1 section, import all section imposible

* Fix bug IDPos not always saved correctly

* Fix bug if same addon import twice FormatsX saved 2 times.

! Changed Resource with ID 1002, 1003, 1004. Translators of .lang file, pleace update the transaltion

* Fix bug Acces violation if try enter in DOS EXE file

+ Add seek ID in range, if not found by IDPOS or IDPOS not defined.

======================================================

22/03/2006 ver 1.2

+ Added calculation size the SFX-part of SFX-archive. If the flag SkipSfxHeader set,     MultiArc will be seek ID after SFX-part of SFX-archive.

+ Support Windows XP Themes. (Visual Styles)

+ Added support different language in visual configuration.

* if parameter "Editor" in Wincmd.ini set with environment variable,     Editing multiarc.ini not possible. (No run Editor)

======================================================

15/06/2005 ver 1.1.3.3

* Changed algorithm of search the wincmd.ini with TC is loaded.

======================================================

xx/xx/2003 ver 1.1.3

+ The count of "Format<x>" keys is changed. Now you can configure your addons up to 50 such lines.

+ System environment expansion for "Archiver" key value. Now you can use Windows system variables, like %WINDIR% in your Archiver definitions.

+ Added possibility to remove unneeded archive types from multiarc.ini by button from GUI

+ Added Help button into configuration dialog.

======================================================

15/01/2003 ver 1.1.2

* Fixed bug with %S-param handling. Now should work with "Only fo Next Command" parameter correctly.

* currently configured editor will be used for editing multiarc.ini in Configuration dialog.

* Fixed problem with Access Violation error on packing CAB files.

* MsCAB .6 addons have come back to distribution.

* 7-zip addon. Authors list restored.

* InstallShield CAB addons fixed. Added addon for IS 5.5 CABs. Thanks to Guntz Philippe

* Fixed Format0 key in 7-zip addon.

! Thanks to Black Dog for making operative bug reports.

======================================================

11/01/2003 ver 1.1.1

* Problem with "lost" GetLongPathNameA function fixed ... Now should work on NT4 and Win95 systems ... Thanks to someone who knows. =-)

* Wrong context help name fixed ... Thanks to Kirill Voloshin

+ New 7-zip addon from BlackDog added.

======================================================

22/12/2002 ver 1.1.0

! There are a lot of new features introduced in this version. To get all of them working you need to re-register MultiArc with Commander. The simpler way to do this- is to use Capabilities dialog .

+ A lot of new bugs introduced in this version! Happy hunting !!! =-))))

+ Added addons for ICL, ISO/BIN/VCD images, M$ compund storages, WinHelp decompiler, AR libraries browser, M$ CHM help files viewer.

+ Added MultiArc Console . This is the window that behaves and looks like usual command-line  window. You can configure it to show the output, that external archiver utilities sends   screen (standard output). It will helps you with visual controlling of compressing,  decompresing and testing processes. Look into configuration dialog  for details.

+ MultiArc.ini changes watchdog - reloads multiarc.ini  settings every time they changed. Now  needn't to reload Commander after manual editing of multiarc.ini file.

+ Added "local" %S-params. Now you can define those params for every used addon separately.   The global %S-parameters are also supported. So if not defined local parameters than will  be used global ones (if they set, of course).

+ Configuration dialog brutally improved. Now you can edit some parameters of addons configuration  from it. There are also automatical import of addons and configuring archiver capabilities (see  [BrowserPlugins] section in wincmd.ini).

+ Added new key "Description" in arc-type definition. This key contains user-readable  description of used archiving utility. Look into addons for samples of using this key.

+ Added possibility to select type of archive during creation of new archives in case  some archive types registered for same extension. For example M$ CABs and InstallShield  CAB have the same extension. Currently user will be asked for type of archive (s)he wants   to create. This only needed for creating new archives. Adding works as before and archive  type recognition works automatically.

+ Added possibility to define multiple IDs at multiple positions. The syntax is following:  IDPos = 1, 7 , -6, 4   ID = 00 11 22, 33 44, 55 66 77 88  After defining IDs in such manner the MultiArc will check bytes at first position (offset 1)  and compare all IDs defined. In other words it opens file, moves to offset 1, read some bytes  and compare readed data with 0x001122 than with 0x3344 than with 0x55667788, after that it   moves to offset 7 and repeat checking of those IDs, than moves to offset 6 _from the end of file_  and check those bytes, than moves to offset 4 etc. If it found right ID at right Position it breaks  the iteration and thinks, that he found right archive. The old ID and position definitions  are also right so you old addons will works.

+ Added support for searching for text inside supported archives. Thank's to   Christian Ghisler for adding that possibility into WinCom 5.0.  NOTE: This feature is possible for archive types that defined with type-extension  and don't works for ID-defined types.  NOTE: Archive types that uses BATCH UNPACKMODE will be not checked completely during   such search. This mode uses unpack with directories but WinCom wants to see files.

+ Added support for opening supported archives by checking its contents (by ID checking).   Also thank's to Christian Ghisler for adding that possibility into WinCom 5.0.   NOTE: Use Ctrl-PgDn to open such files.

+ Added possibility to open plugin configuration dialog from command-line.   See MANUAL CALLING OF CONFIGURATION DIALOG .

* versions numeration changed. Now used 3-digits numbers instead of dumb   MS-like 4-digits ones.

======================================================

27/07/2002 ver 1.0.0.9

* IMPORTANT!!! : Updated MsCAB addon. Thanks to Matheusz Brsostek.   Update your multiarc.ini and download new MsCAB !!!   Read addons.txt for MsCAB installation instructions, please.  Addons for old MsCAB versions was removed from distribution.   Use MsCAB 6.0, please.

+ Added support for custom command-line parameters (see %S description   in multiarc.ini syntax reference). There are three options available  from configuration dialog:  1)"None" - never ask user about %S command-line parameters.  2)"For next command" - user will be asked for %S parameter     only once. After that mode switched to "None".  3)"Always" - user will be asked for %S parameters always.  *)And optional check "... exclude from LIST calls" - User will     be not asked for %S parameters on LIST command calls.    The idea of custom command-line parameters kindly presented by  Mateusz Brsostek. Thanks, Mateusz.

+ Addon for UHARC 0.4 added. Thanks to Kirill Voloshin.

+ Addon for 7-Zip files added. Thanks to Yuri Bomstein, Alexey Klimin,   Milykh Alexander and Dozzie.

* Fixed some non-latin filenames handling in 777, BIX, JAR,UFA-archives  addons. Thanks to Yuri Bomshtein.

* Tooltips in configuration dialog fixed. I wonder, why nobodys  reports this bug for me earlier ??? =-)

* Some fixes from Mateusz Brsostek. Thanks again.

* URL for i6comp02.zip changed to correct one.

* Some changes to InstallShieldt Z addon. Thank's to Eguen Labun. If   you use that addon - update your multiarc.ini !!!

* New version of RK-addon from HF. don't know what a difference with old one.  Anyway, thank you, HF. =-)

======================================================

09/02/2001 ver 1.0.0.8

+ MultiArc  opensourced. See LICENSE for details.

+ Added support for DMS Amigas compress files. (DMS extension they have)  Thank's to Vladimir Pilny.

* Fixed Access Violation crash during working with UNIX Z compressed files  Thank's to Igor Glucksmann.

* Some cosmetic fixes to Configuration dialog.   Thank's to Andrew Bondar.

* Fixed stack overflow in operating big archives. Thank's to Mateusz Brzostek.

* Fixed dangerous bug with deleting directories. Thank's to Mateusz Brzostek.

* Added support for adding files to archive subdirectories.   Required WC ver 4.52 and corresponding command-line keys in external archiver.  Coded by Mateusz Brzostek. Great thank's again! 8-)

+ Added new variable (%R) and new functionality (use braces to avoid adding  empty variable) into multiarc.ini

+ New addon for new version of MsCAB utility. Thanks to Mateusz Brzostek.

+ Added support for InstallShield 6.0 HDR-s. WARNING! Not tested.  Thank's to Wolfgang Hagner, Andrew Bondar and Guntz Philippe for   assistance.

+ Changed addon for InstallShield 5.0 CAB's. Adding/deleting  ability added. Warning - not tested. Thank's to Andrew Bondar.

======================================================

17/12/2000 ver 1.0.0.7

+ Added "BatchUnpack" mode. Really great thank's to Mateusz Brsostek for  idea and help in coding this feature ... This mode dramatically increases  speed of extracting groups of files from archives. Especially from archives  packed in "solid" mode. Previous version of MultiArc HAVE TO extract one file  per one call of archiving utility, because WCX API didn't allow other way. This   version uses improved algorithm of extraction. To use it - please activate key   "BatchUnpack" in corresponding section of multiarc.ini and add new key -   "ExtractWithPath" - where you MUST put command line for call your archiver in   "extract with pathes" mode. Currently this changes did for JAR, IMP and CAB addons   in current multiarc distribution. If you want do this for others - you are welcome   - edit corresponding addon as described above and send me - I include it in next   distribution. To deactivate - just set BatchUnpack to 0.

+ Added support for alternative MSCAB archiver from Mateusz Brsostek -   http:  delete files in well known MS CAB files. It also support BatchUnpack mode.   Let's forget about ugly cabarc.exe from Bill Gates!!! Thank's Mateusz !!!

- Support for old CabArc.exe was moved directly to HELL - see remark above.

* Fixed "directories" bug in DDI extractor. Thank's for Igor Gerasimovich   for report.

* Fixed very dangerous bug with deleting directories. Thank's for  Mateusz Brsostek for report.

+ Added support for LZX Amigas compress files. (LZX extension they have)  Thank's to Vladislav Kropachev ( AKA Dima Boitsov ) for prompt about this format.

+ Added support for UNIX-like compress files. (Z extension they have).

+ "Fake-Move.bat" - if you want move files to archive during packing  but you archiver can't - it's for you. Thank's for Edward Goldobin   for idea.

* Fixed some spell errors in messages. Thank's for Edward Goldobin.

+ Added addon module for RK 1.03. Thank's to Kirill Voloshin.  But RK is still alpha and buggy. 8-( You WARNED.

======================================================

28/07/2000 ver 1.0.0.6. Another Distribution update.

+ Added addon module for SQZ 1.08. Thank's to Vladimir Pilny.

======================================================

26/07/2000 ver 1.0.0.6. Another Distribution update.

+ Added addon module for Mo'PaQ 2000 1.00.

======================================================

5/06/2000 ver 1.0.0.6. Distribution update.

+ Added addon module for Archangel, ERI, RKIVE archives. Great thank's   to J.Polygiannakis. But be careful - I haven't time to test its. 8-)

======================================================

2/06/2000 ver 1.0.0.6.

* Fixed bugs with time representation format. Thank's to Mateusz   Brzostek for reporting this bug.

* changes to multiarc.ini and JAR addon. Thank's to Mateusz Brzostek.

======================================================

1/06/2000 ver 1.0.0.5.

* Some bugs with ANSI<->OEM conversions in file names. Relative   changes to IMP addon. Thank's to Mateusz Brzostek for reporting   this bug.

* changes to multiarc.ini. Thank's to Kirill Voloshin.

+ Added addon module for BOA archives. Thank's to Kirill Voloshin.

======================================================

31/05/2000 ver 1.0.0.4.

* Some fixes about file times - seconds was displayed uncorrect before.   Thank's to Mateusz Brzostek for reporting this bug.

* Some *.addon files was corrected. Thank's to Kirill Voloshin.

======================================================

30/05/2000 ver 1.0.0.3.

* Fixed wrong behaviour with OEM<->ANSI filenames encoding. Thank's to   Mateusz Brzostek for reporting this bug.

* Cosmetic changes to configuration dialog.

======================================================

29/05/2000 ver 1.0.0.2.

+ Archive testing possibility comes back. Thank's to Andrew Korolev   for reminder 8-)

* File names with spaces wasn't enclosed to quotes in listfiles. Fixed.  Thank's to Mateusz Brzostek for reporting this bug.

* Some *.addon files was corrected. URLs added (thank's to Kirill   Voloshin).

+ Added addon module for ZOO archives. Thank's to Oleg Voloshin.

======================================================

13/05/2000 ver 1.0.0.1.

+ multi-extension support. Now you not need to add duplicate section into   multiarc.ini for one command-line utility with different filename extensions.  Just enum possible extensions through comma (,).For example: instead of having   two almost same addons for "DDI images" and "WinImage 5.0 Images" just edit   Extension key in first one from "Extension=ddi" to "Extension=ddi,ima".  Do not forget accordingly configure Win Commander! See *.addons for DDI images and   for InstallShield *.z archives for using this technique.

- accurately read previous paragraph and try to understand, why "WinImage 5.0.addon"  was removed from distribution. 8-)

* some *.addon files was corrected. URLs added (thank's to Kirill Voloshin & Wolfgang Hagner).

+ added addon module for ARC 6.02 archives. Thank's to J.Polygiannakis.

======================================================

03/08/2000 Release Candidate ver. 1.0.0.0

! First public version.


Hall of Fame

Personal:

My Parents - Thank you my darling.

Christian Ghisler. He makes all that possible!

Mateusz Brzostek. The man, that pushed me with lot of ideas and helped me in implementation of some algorithms.

Eugene Roshal. The main idea of MultiArc was adopted from his FAR File Manager.

Code contributors:

Mateusz Brzostek.

Igor Glucksmann.

They who share ideas:

Mateusz Brzostek.

Kirill Voloshin.

Black Dog (Who need that knows =-)

Edward Goldobin

Addon writers:

J.Polygiannakis

Kirill Voloshin

Vladimir Pilny

Mateusz Brzostek.

Oleg Voloshin

Edward Goldobin

Yuri Bomstein

Andrew Bondar

Guntz Philippe

Alexey Klimin

Milykh Alexander

Dozzie

HF

They were also involved:

Andrew Korolev

Eguen Labun

Igor Gerasimovich

Yuri Bomshtein

Vladislav Kropachev AKA Dima Boitsov

Wolfgang Hagner

Mozers™

arsvrn

Serge Lukin for translaton and correction to English documentation.

THANK YOU ALL!!!


OK
Save all changes made in this editing settion


Cancel
Abandon all changes made during this session


Help
Open window with MultiArc conext help system.


Select what you want to configure
Use this tab to select page you want to configure:

About - About page

Addons  - Addons page

Settings  - Settings page

Language  - Language page


Write a letter!
Click this link to run your default e-mail client and send your questions to Author.


Write a letter!
Click this link to run your default e-mail client and send your questions to Author.


Check for updates!
Click this link to execute your default Internet browser and go directly to Home Page of MultiArc.


Type of archiver
Use this control to select type of archiver you want to configure. There is also special type - MultiArc that represents some global parameters to edit.


Description
Here is a short description for currently selected archiver type. This is a contents of "Description" key in addon for this archiver.


Status
Here is a short information about registration of this archiver in Commander.


Archiver path
The full path to archiver executables or batch files.


Change archver path
This one help you to select right path to archiver executable.


Archiver capabilities
This one opens a Capabilities Dialog


%S-Param handling
This checkbox activates or deactivates %S-Parameter  handling for this type of archive. If it is set on - the local %S-Parameter settings will be used.

Note that it is always active for MultiArc section.


%S-Param type
Here you can select mode for %S-Parameter  handling.

The modes are:

Never - never ask user about %S command-line parameters.

For next command - user will be asked for %S parameter only once.

Always - user will be asked for %S parameters always.

Note that "Never" mode is available only for general (MultiArc) archiver. To get such functionality on local %S-Parameters just switch handling off.

Do not confuse with "For next command" - mode. It is active only till next call or end of MultiArc session. This mode is not saved between MultiArc sessions. In other words you cannot set this mode today, shutdown your system and try to get something tomorrow.


%S-Param LIST calls
Here you can avoid %S parameter asking during "List" command. This command is requested by Commander many times and it is a really good idea to keep this check on.


Import external addon
This one help you to import archiver description information from axternal *.addon files to multiarc.ini. Just run OpenFile dialog and select addon you want to import.


Remove type
This one help you to remove uneeded archive type description information from  multiarc.ini.


Edit multiarc.ini
This one will open currently used multiarc.ini in external editor to make some changes by hand.


Path to TC INI

Path to Total Commander's settings file (wincmd.ini).

Since at present there is no opportunity to receive a corect path&filename from Total Commander itself MultiArc tries to find it independently. If You will notice that the path is not correct, please choose the correct one.

This setting is required for automatic extension association and the type of editor called for manual MultiArc configuring. If You won't use these features, You don't need to change this setting.


Console behavior
Select console behavior mode

never - the console will never shown

if defined (%C) - the console will shown only if %C-parameter is defined for command

always - the console will always shown


Console: LIST calls
If checked the console will not shown on executing LIST commands


Using tray area
Keep minimized console window in system tray area.


Auto-close
Automatically close console window after running command is finished


Console delay
Delay in seconds before popping up the console window.


Console lines
Console window will contains no more than this amount of lines. If set to 0 (zero) or empty - no check for lines will be performed - all lines stays untouched.


Extensions
This is the list of file extensions supported by configured archiver.


Is registered
Check to add entry in wincmd.ini file. In other words - register this extension with Commander


Can create
This addon can create new archive files


modify
This addon can modify archive files


delete
This addon can delete files from archive file


multi-file
This addon supports multiple files in archive file


detect type
This addon can check the archive files by ID


Support search
This addon supports text search inside of archive files


Hide icon
Do not use standard Commander archive icon for this type of archives. Note that such archives can be opened only by Ctrl-PgDn on this file. Extension association do not works for them.


Enter %S-Parameter
Enter some information for this %S-Parameter you want to be included in currently running command.


Select type
Select the type of archive you want to use for this operation.


 MultiArc License

Copyright © 2000, 2003 Siarzhuk Zharski, imker@gmx.li

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright   notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright   notice, this list of conditions and the following disclaimer in the   documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software   must display the following acknowledgement:

"This software contains parts of MultiArc WCX code by Siarzhuk Zharski"

4. Neither the names of the authors nor the names of its contributors   may be used to endorse or promote products derived from this software   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Known problems

There are no perfect programs.

BatchUnpack issues

First of all let me introduce why we use this workaround. IMO, the plugin API was grown from UnRAR unpacking module used by Author of Commander to handle RAR files. The main problem of it is file-by-file handling - it can unpack only one file per call. Lets remember now about "solid" archives - for this archives we need to unpack all files that lay before required file. In other words to unpack all archives from solid archive, containing 100 files we should call external unpacker 100 times! That's why we decide to use some workaround for this situation - BatchUnpack mode. In this mode, all information about list of required files just collected during "single-file" calls and only at last call will be send to external archiver. This mode requires additional key - ExtractWithPath and uses external archiver in full-path extraction mode.

Now, the problem: No per-text file search possible in this mode - Commander asks us to extract files and rename it to temporary name. But in this mode we can't do this. So there is no file that Commander want to see.

Capabilities dialog

The WCX plugin can be registered in wincmd.ini by association it with archive extension. In situation of two different archive types sharing same extension all changes made to one of types will be applied to other automatically - just by design.

Extensions,IDs etc.

Currently archive type checking mode works in following manner: First, MultiArc look for unpacker per extension basis and if such unpacker found - checks by ID. If ID check fails - it look for next unpacker for such extension etc. If the list of unpackers completely checked but there is no appropriate unpacker found it try to find unpacker just by testing this file for all unpackers by IDs. There is one issue with archive types that have no ID defined. For such types the first unpacker found for its extension will be used. Note that, if there are some unpacker registered in multiarc.ini for this extension - and IDless one stay before others - only this one will be called. In other way - something is defenied before it - the previous unpacker will be used. Avoid ID-less definitions!

Miscellaneous problems

1) "Also pack path names" mode is ON always - files always packed with path names.

2) Progress bar that WC show during long time archive processes - is a not REAL percentage. Because I have no information about it from archiving process and have to use very dumb algorithm to calculate it. Use console to get the real information.


MultiArc Console

 The MultiArc Console is a window that allows you to see the output of external archiver utility. There is also possible to break execution of currently running command. Just press F4 when keyboard focus is in console. Of course, there is no guarantee, that all will works as assumed. =-) The MultiArc console is configurable. See Configuration Dialog  for detailed description of configuration settings.