Short: Tool to extract Microsoft Cabinet Files Author: David Eriksson / Jonny Høgsten Uploader: tony aksnes broadpark no (Tony Aksnes) Type: util/arc Version: 0.5 Requires: OS4 Pre 3 or better Architecture: ppc-amigaos >= 4.0.0 Ever been in the need of extracting Windows installer files? Usage: unshield.os4 [-c COMPONENT] [-d DIRECTORY] [-D LEVEL] [-g GROUP] [-G] [-h] [-l] [-V] c|l|x CABFILE Options: -c COMPONENT Only list/extract this component -d DIRECTORY Extract files to DIRECTORY -D LEVEL Set debug log level 0 - No logging (default) 1 - Errors only 2 - Errors and warnings 3 - Errors, warnings and debug messages -g GROUP Only list/extract this file group -h Show this help message -j Junk paths (do not make directories) -L Make file and directory names lowercase -V Print copyright and version information Commands: c List components g List file groups l List files t Test files x Extract files Other: CABFILE The file to list or extract contents of An installer created by the InstallShield software stores the files it will install inside of InstallShield Cabinet Files. It would thus be desirable to be able to extract the Microsoft Cabinet Files from the InstallShield Cabinet Files in order to be able to install the applications without access to Microsoft Windows. The format of InstallShield Cabinet Files is not officially documented but there are two tools available for Microsoft Windows that extracts files from InstallShield installers, and they are distributed with source code included. These tools are named "i5comp" and "i6comp" and can be downloaded from the Internet. One major drawback with these tools are that for the actual decompression of the files stored in the InstallShield Cabinet Files they require the use of code written by InstallShield that is not available as source code. Luckily, by examining this code with the 'strings' tool, I discovered that they were using the open source zlib library (www.gzip.org/zlib) for decompression. I could have modified i5comp and i6comp to run on other operating systems than Microsoft Windows, but I preferred to use them as a reference for this implementation. The goals of this implementation are: Use a well known open source license (MIT) Work on both little-endian and big-endian systems Separate the implementation in a tool and a library Support InstallShield versions 5 and later Be able to list contents of InstallShield Cabinet Files Be able to extract files from InstallShield Cabinet Files