Jak użyć i6comp?

(Virtus) #1


Chcę rozpakować plik z rozszerzeniem .cab i w tym celu chcę użyć programiku i6comp. Niestety nie wiem jak to zrobić.

Ściągnąłem z sieci i6comp.zip , rozpakowałem, pojawiły się dwa pliki: i6comp.exe oraz ZD51145.DLL. Gdy spróbuję otworzyć ten pierwszy to miga na ułamek sekundy takie okno jak przy wierszu poleceń i znika. Potrzebuję pomocy kogoś znacznie bardziej kumatego. Wklejam poniżej to co jest w pliku tekstowym txt:






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.

Changes/New features are:

  • [MORLAC] Converting multi-volume cabinets to a single one has been removed.

No longer needed. Adding a file is not tested and propably wont work.

  • [MORLAC] Multi-Volume Cab's are supported. Cab's must be of the form:

Data1.cab, Data2.cab, Data3.cab ...etc.

This works in the case where all these files share the same Data1.hdr

Of course, the name "Data" can be anyother like lw1.cab, lw2.cab...etc.


  • [MORLAC] Now -f works with commands e and x, i.e:

i6comp x -f data1.cab (files are decompressed under File Groups

and subdirs)


i6comp e -f data1.cab (files are decompressed into their File

Group sub-directory)

  • Added AutoDetect for cabinet version (yay!)

It is no longer necessary to specify -v in most cases, only if

autodetect fails for some reason

  • 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.:

i6comp a -f data1.cab "English Intel 32 Files" *.dll

(this will add all .dll files in the current dir to the

filegroup "English Intel 32 Files" in data1.cab)


i6comp a -r -f data1.cab "English Intel 32 Files\Lalala*"

(this will add all files and subdirs starting from the

"English Intel 32 Files\Lalala" directory to the subdir

Lalala inside filegroup "English Intel 32 Files" in data1.cab)

Other variants are possible too.

This option was really intended for use with Far MultiArc plugin,

see the next item :wink:

  • Far MultiArc plugin script

U can now use Far to browse IS cabinets and do some basic operations.

There are some limitations of course - MultiArc cannot add files to

a subdir inside an archive, so u have to work around by adding whole

directories to the root of a cabinet, which is a list of File Groups :wink:

Please look at the attached Far-Arc.txt file for more details

  • Changed format of listings: mostly extended Size fields

(uhm, files are getting bigger now, need more space :wink:

  • 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..x in the start message :).

Other than that - RTFM !


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.



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 [-opts]

in this order, no mixing is allowed.

Just run i6comp with no parameters to see the explanation of syntax,

commands and options.


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.


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'.


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.


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."

(Placio74) #2

To jest narzędzie obsługiwane z... wiersza poleceń.

Skorzystaj z Universal Extractor

(Virtus) #3

Tyle to i ja wiem.

Chcesz sobie nabić statystyki tego typu wypowiedziami ?

Powiedz jak to dokładnie zrobić, a będę Ci być brawo :+)

(Placio74) #4

Chodzi Ci o obsługę programu czy... jak korzystać z wiersza poleceń?

Najpierw spróbuj prostszej i wygodniejszej metody...

Przyjrzyj się dobrze jakie są obsługiwane formaty przez Universal Extractor i jakie są w nim wykorzystywane programy (między innymi i6comp). Dzięki Universal Extractor nie musisz ręcznie pisać całej sekwencji komend czy ścieżek dostępu jak również nie musisz wykonywać prób rozpakowania kolejnymi narzędziami (zamiast i6comp może być konieczne użycie np. i5comp - to osobne programy i obsługują archiwa innych wersji InstallShield).