KaKeeware
http://www.kakeeware.com
KaKeeware IETOTALX & KaKeeware IETOTALXX

Description

KaKeeware IETOTALX & KaKeeware IETOTALXX are quick hacks that make it possible to use well-known Total Commander's plug-ins:

from a command line.

Suggested solution is to use KaKeeware IETOTALXX. And only if it doesn't work, you can use KaKeeware IETOTALX.

Copyright notice

Please note that KaKeeware IETOTALX & KaKeeware IETOTALXX rely fully on these 3 plugins:

and although KaKeeware IETOTALX & KaKeeware IETOTALXX embed (for convenience) the files that come with these plugins, the copyright to all these files belong to the authors mentioned above.

KaKeeware IETOTALX & KaKeeware IETOTALXX support all the plugins supported by IETOTAL/InstallExplorer (as copied from FILE_ID.DIZ/Web site that comes with different InstallExplorer versions, these are: Wise, Vise, Inno Setup, Gentee; Installer, InstallShield, NullSoft Installer (ver>=1.1o), SetupFactory, Eschalon).

History

2006/12/30: Added IETOTALXX
2006/12/21: Fixed small bug in IETOTALX. Thx to Pedro L.

How to use IETOTALX & IETOTALXX?

From a command line, run:
   IETOTALXX foo.exe

or
   IETOTALX foo.exe

It will extract all the files in foo.exe to _foo.exe directory.

Wildcards are supported, but for stability reasons, it's better to use separate instances of KaKeeware IETOTALX or KaKeeware IETOTALXX for each installer.

The easiest way to do it is to use a for loop from a command line, i.e.:
   for %k in (*.exe) do ietotalxx "%k"

or
   for %k in (*.exe) do ietotalx "%k"

is better than

   IETOTALXX.exe *.exe
or
   IETOTALX.exe *.exe

Example of IETOTALXX usage

ietotalxx executed with WinPcap installer
Ietotalxx
Extracted Files:
Ietotalxx

Example of IETOTALX usage

ietotalx executed with WinPcap installer
Ietotalx
Extracted Files:
Ietotalx

Technical note about IETOTALXX

KaKeeware IETOTALXX is an upgrade to KaKeeware IETOTALX proggie.

As it turns out, in July 2006, Domo released a new plug-in for Total Commander, which is called InstallExplorer 0.9.1. It is a replacement for an old IETOTAL (InstallExporer Port) plug-in.

After running a few tests, I decided to switch to this one especially that it seems to be more stable and crashes happen less often. The good news is that it seems to work most of the time and - the files are extracted properly...

So... I came back to a previous idea and I rewrote some parts of IETOTALX to use the new plug-in. "Rewriting" actually means coming back to roots... i.e. writing a proggie handling plug-in in a 'as-designed' way.

In particular: removing API hooking code which makes the new proggie much simpler and easier... It also makes it (hopefully :) work on Windows 9x (due to Api Hooking I used in IETOTALX, it didn't work on 9x - Thx Pedro L. for spotting this).

Ah... you may ask.. Why IETOTALXX? Well... I wanted to keep the old IETOTALX on the page + IETOTALX2/IETOTALY names sucked. So... There you go :)

There's a guard thread created at the beginning of the main routine that will kill the instance of IETOTALXX, if the main thread haven't finished its work after 300 seconds.

I added SEH frame before calling the function that extracts the files to make sure we extract as many of them as possible.

Feel free to play with the code to modify it up to your needs.
Last, but not least - you need Perl to compile the sources :-)

Credits:

- Pedro L. - the man who still remembers Turbo Debugger :)
- Jared B. - the man behind Universal Extractor (from http://www.legroom.net/mysoft)
both, for making me coming back to the old code :)


Technical note about IETOTALX

At the beginning, the task seemed to be trivial.
I thought I will just follow Total Commander WCX's specs in order to make it work i.e.:

  • Open Archive
  • Extract each file in the archive one by one
  • Close the archive.

Unfortunately it didn't work as it should. The program kept crashing or hunging for no obvious reason while the plugin tried to extract the files. On the other hand, listing the files within the archive seem to be more stable, so...

To solve the stability problem, I ended up with a dirty solution that relies on the fact that plugins need to unpack the files before listing their content. I list files, and drop them in a temp. directory which is not a standard Windows temp directory, but the directory that is provided by a hooked version of GetTempPathA.
Also, RemoveDirectoryA and DeleteFileA functions are patched to preserve the "temporary" files - that we extract and want to keep - from being deleted.

There's a guard thread created at the beginning of the main routine that will kill the instance of KaKeeware IETOTALX, if the main thread haven't finished its work after 60 seconds.

Feel free to play with the code to modify it up to your needs.
As all the filenames are listed, you may add a feature to properly rename the files wis?.tmp\file????_*.bin files.

Last, but not least - you need Perl to compile the sources :-)

Requirements

Windows 2000/XP or newer

License

Freeware+sources freely available.

Download

ietotalxx.zip
ietotalx.zip

Thank you for your visit & support!
2004-2007 © Copyright KaKeeware. All Rights Reserved.