I6comp Readme
I6comp Readme
1. INTRODUCTION
2. INSTALLATION
3. CONCEPTS
4. UNSUPPORTED
1. INTRODUCTION
---------------
This is a utility to handle version 6 of the InstallShield cabinet files.
Its based on i5comp by -] fOSSiL [-, so, thank him first. Without his
excellent work, this one would not exist.
All features are present from i5comp. What changed was the data structures
only. The decompression routines are handled in ZD51145.DLL.
I hope that no body flames me for using the i5comp readme, but i suck big
time when it comes to writting docs.
- New option -o: suppresses any extra output, like comments, start msg
(easier to make wrappers/GUI)
Please note, that it will not suppress error and warning messages
- New option -f: treat File Groups as directories
Now u can use it instead of -g and specify filegroup name as u would
specify a folder, i.e.:
- Source code is now included with this version. You are welcome to make
changes and recompile, the only thing I will ask is that u update the
version to something like 2.<YourNick>.x in the start message :).
2. INSTALLATION
---------------
1) Put 'i6comp.exe' wherever u want (preferrably somewhere in PATH).
2) Put 'zd*.dll' files in %WinSysDir%. For example, on Win95 that
might be 'C:\WINDOWS\SYSTEM' and on NT - 'C:\WINNT40\SYSTEM32'.
Or u can put these files anywhere in PATH.
3. CONCEPTS
-----------
1) COMMAND SYNTAX
Unlike weird icomp.exe, i6comp mimics the command syntax of ARJ/RAR
style compressors, but the big difference is that the established syntax
order can not be broken, meaning that u have to specify <cmd> [-opts] <cab>
in this order, no mixing is allowed.
Just run i6comp with no parameters to see the explanation of syntax,
commands and options.
2) FILE INDEX
Every file inside a cab has a fixed index. U can see that index when u
do 'i6comp l your.cab' in the 'Ind' column. InstallShield allows duplicate
filenames within one cab, so u might have to referr to the file by its
index to ensure that u extract/replace the right one.
3) MASK MATCHING
In addition to the references to files by name and index u can use
filemasks ('fmask' for short in the command line help). The mask matching in
i6comp is extended compared to standard DOS one. U can use, for example,
masks like this : a*b.dll, *b?c?d*.d*, etc. For example, '*b?c*.dll' will
match with 'boc.dll', 'bac12.dll', 'aablc.dll', but will NOT match 'bc.dll'.
4) FILEGROUPS
Every file inside a cab belongs to some FileGroup. Because of this
structure, u have to specify a FileGroup with a -g option when adding files
to a cab. Alternatively, u cab use -f mode of i5comp, in which FileGroups
are treated as directories.
5) COMPRESSION DLLs
Somewhere in the middle of the development of versions 5.x InstallShield
changed the way the files are being compressed. Because of that the option -v
was created. It allows u to specify which version of compression dll to use.
With InstallShield ver 6, they changed the file structures inside the cabinet
but they did not change the way the files are compressed.
4. UNSUPPORTED
--------------
1) Compressed files that span more than one cabinet are not tested and i
dont think they exist.
2) CAB creation functionality was never intended and required too much
effort, especially since u can create CABs with InstallShield itself.