Q&A.MTA

5 KB 68921e0e258249e8…
Some frequently asked questions (important) and their answer:

Q: Why is it so difficult to install MTA, why isn't there an install
   program;

A: MTA is very transparent. It is possible to manipulate archives and
   related material in as many different ways as there are users. The
   result is a program that (could) need a lot of special options in
   the configuration file. If an installation program was included,
   you still needed the documentation and the installation program
   would only be an intelligent editor;

Q: Why can't the configuration-file be compiled so MTA can read it
   very quickly.

A: Almost all options in MTA.CTL have to do with the 'outside world'.
   In general I dislike programs that report things like the following
   (to commonly) line:

   'Runtime error 003 at 0F11.AA76'

   Because of this, MTA will test all access to this 'outside world'.
   Tests extend to the presence of directories, files, memory and so
   on. These tests take most of the time. A benchmark on MTA.CTL of
   60K (a LOT of options) WITHOUT these tests resulted in a wast of
   around 2 seconds (386/16 without disk-cache). The tests result in
   a slower thruput but (in general, bugs not included) it will result
   in a safe operation;

Q: I am loosing paths inside my archives. The source archives did
   contain them but after conversion the target does not contain
   them anymore. Why ?

A: You did not include the SubstDrive options in your MTA.CTL. Read
   the entry for this option carefully and try to implement this
   option (when having problems, contact me). This is only a part of
   the answer, the second part will deal about the reason.

   In the early days the archive programs did only store path infor-
   mation in a relative way. If TEMP\WHY.EXE was included in the
   archive, it would unpack as .\TEMP\WHY.EXE (so as a directory
   UNDER the current one). At this moment there are two popular
   archive programs that (can) use ABSOLUTE directories. An entry
   like \TEMP\WHY.EXE would unpack as \TEMP\WHY.EXE, so WHY.EXE
   would be in the directory TEMP under the ROOT directory. Even
   this could be solved in a normal way but what if someone included
   \DOS\COMMAND.COM (or any other file) and under your OWN root you
   already have a \DOS (and a COMMAND.COM). This would result in
   (dangerous) overwritten files and worse, MTA would create a new
   archive with ALL files from \DOS (also those that were already
   there) and the called archive-program would delete all these
   files also (resulting in a non-bootable machine).

   Why not allow for a virtual drive (my RAM-disk) that is really
   empty ? Simple, if the source archive contains absolute directories
   AND some nested archives (archives in archives) which in turn would
   also include absolute directories, the new archive would not look
   the same as the original archive, in fact, given a product that
   contains:

   BLURB.CTL
   \BIN\BLURB.EXE
   BLURB286.ZIP       ---> contains \BIN\BLURB.EXE
   BLURB386.ZIP       ---> contains \BIN\BLURB.EXE

   It would result in:

   BLURB.CTL
   \BIN\BLURB.EXE  (the last of the three)

   And the two other BLURB.EXE files (the XT and 286 files) were gone.

   To overcome all these problems, MTA will map a substituted drive
   over the temporary directory (the temporary directory will become
   the root of this new drive) and will extract the files as normal.
   With nested-archives, MTA will swap the substituted drive to the
   next temporary directory under the previous and again will assign
   this a the new root. In this way extraction can not overwrite your
   own files AND the target archive will be the same as before.

   If you do NOT include the SUBSTDrive support, MTA will not be able
   to carry the directories over into the new archive. There are some
   related options (SubstOn, SUbstOff) that will even make it possible
   to use this mechanisme on networks that don't allow the usage of
   SUBST.EXE. In this case you can use the network-version of such a
   program (like MAP, PAGEDR and so on).

Q: I get 'Extended test failed' regulary. Why ?

A: Because you don't use SUBSTDrive options in MTA.CTL;

Q: I don't WANT to use SUBSTDrive options, should I switch this option
   (ExtendedTesting) off ?

A: NO. The error is correct. Given the archive that contains:

   TEST.TST
   TEST.NEW
   TEMP\TEST.NEW

   And given the fact that you don't use SUBSTDrive (so the archivers
   are told NOT to create directories), the result would be a TEST.TST,
   and a TEST.NEW. TEST.NEW in TEMP\ would overwrite the original file
   TEST.NEW and the total of uncompressed bytes on disk would not match
   the calculated value which is taken from the archive internally. Also
   the first TEST.NEW would be lost and the target archive would now
   contain 2 and not 3 files. All in all, you have corrupted the archive
   in this way. You should use ExtendedTesting unless VERY specific
   problems occur;