I need to extract the contents of an InstallShield Cabinet file (.cab).

What tools should I use for the job?

5 Answers

One of my favorite little helpers:

Universal Extractor is a program doing exactly what it says: extract files from any type of archive, whether it's a simple ZIP file, an installation program, or even a Windows Installer (.msi) package.

... and indeed anything Installshield (see list below).

alt text

Archive Type Common File Extension(s) 7-zip archive .7z, .exe ACE archive .ace ARC archive .arc ARJ archive .arj, .exe ASpack compressed file .exe BIN/CUE CD-ROM image .bin, .cue bzip2 archive .bz2, .tbz2, .tar.bz2 CPIO compressed file .cpio Debian package .deb DiscJuggler CD-ROM image .cdi Encoded files .b64, .uu, .uue, .xx, .xxe, .yenc, .ntx Gentee package .exe gzip archive .gz, .tgz, .tar.gz IMG floppy disk image .img Inno Setup package .exe Installer VISE package .exe InstallShield Cabinet archive .cab, .1, .lib InstallShield package .exe ISO 9660 CD-ROM image .iso KGB archive .kgb, kge, .exe LZH compressed file .lzh, .lha LZMA compressed file .lzma LZO compressed file .lzo LZW compressed file .Z, .tz, .tar.Z LZX compressed file .lzx MHTML file .mht Microsoft Cabinet archive .cab, .exe, .imf Microsoft Compiled Help file .chm Microsoft compressed file .??_ Microsoft LIT e-book .lit Microsoft Windows Help file .hlp Nero CD-ROM images .nrg NSIS package .exe Oasis Document Format (ODF) document .odt, .odp, .odg, .ods Office Open XML (OOXML) document .docx, .pptx, .xlsx Outlook Express mail archive .dbx PEA archive .pea RAR archive .rar, .001, .exe Reflexive Arcade package .exe RoboForm package .exe RPM package .rpm SetupFactory package .exe SIS (SymbianOS) packages .sis StuffIt packages .sit TAR archive .tar, .tbz2, .tgz, .tz, .tar.bz2, .tar.gz, .tar.z UHARC archive .uha UPX compressed file .exe, .dll Windows Imaging Format image .wim Windows Installer package .msi Windows Installer patch .msp Windows Update Standalone patch .msu Wise Installer package .exe ZIP archive .zip, .jar, .xpi, .wz, .exe Zoo archive .zoo 

Universal Extractor is freeware and portable.

It's a brilliant utility to extract drivers or installers to make applications 'portable' and as they claim, it really works for pretty much any form of archive.

3

"i6comp" (UniExtract) and/or "unshield" is a wasted effort anymore. Anything equal or over InstallShield v12 (InstallScript Projects) will not extract. InstallShield's own "CabView" (ISCabVu.exe) will let you do one file at a time. But I need to extract over 10,000 files for each separate language to rebuild an installer. So in this regard it doesn't help much either.

The only option I have found is taking the IS2009 "iscab.exe" (last version released) and placing in my IS2010 system directory. Add IS "system" path to your %path% ENV. Ended up having to create 15 separate INI files, but got all the LANG dependent files separated. Certainly beats using Cab View and repeating an extract 10,000 times!

Example:

Create a blank INI file. This will hold all file information from the cab(s):

type nul > allfiles.ini 

Run this iscab.exe command to add all files to your new INI file:

iscab.exe ..\MyAppSetupDir\data1.cab -i"allfiles.ini" -lx 

Backup "allfiles.ini" at this point.

Edit another new INI file - duplicating layout of first INI.
Only include files you want to extract. (Or, just edit the non-backup/original INI from above and remove anything you don't want to extract.)

Run the following command when your new INI is ready:

iscab.exe ..\MyAppSetupDir\data1.cab -i"MyEditedISCabIni.ini" -x 

NOTE: You will have to recreate the parent level folders yourself, or you will get an error.

Seems rather ridiculous to me that ISCabVu limits you to 1 file at a time when in fact they had made the utility detailed above. They no longer distribute this utility ( >= IS2010). Very frustrating.

Edit (2016):
Some may be able to still use iscab.exe from last uniextract commit on older IS setup's:

(Download 'source' and look for iscab.exe in archive)

Flex site:
ISCabExe (They removed help site).

Edit (2016):
Please also see this post & answers.
Also have a look at Unshield (currently maintained) as well as UniExtract2 projects.

6

Download the InstallShield CAB Utilities specific to your version here:

Use this webpage for reference on how to use them:

7

The unshield command of the SynCE project worked for me.

I've used IZArc with great success for this task. IZArc is similar to WinZip but it is free and does not contain the annoying "Register" features. IZArc will let you browse the .cab file just like it is a folder on your computer.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy