25

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

What tools should I use for the job?

6 Answers 6

11

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
  • 12
    It doesn't work beyond IS 5
    – Milind R
    Oct 23, 2013 at 12:00
  • 3
    it doesn't work even for IS 5 if the data is separated across multiple .cab-s (e.g. data1.cab & data2.cab)
    – user201265
    Aug 18, 2014 at 20:47
  • 1
    Great when it works. When it doesn't see next answer..
    – B. Shea
    May 8, 2015 at 16:40
11

"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:
https://code.google.com/archive/p/uniextract/source/default/source
(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
  • 1
    I downloaded UniExtract2 (RC3) from here and it extracted both data1.cab and data2.cab files for me like a charm. Mar 14, 2022 at 16:06
  • @OzairKafray Good to know, I'll check it out sometime. But, to be clear: I never said it didn't work with all IS versions/builds. Just newer ones. You do not mention the version of IS used. Quote from answer: "Anything equal or over InstallShield v12 (InstallScript Projects) will not extract." (at least when I first posted this in 2010).
    – B. Shea
    Mar 15, 2022 at 15:41
  • Sorry my comment was FYI for whoever comes here next, that 1. UniExtract2 mentioned in the answer works even today. 2. Your answer is on point. Our build machine has InstallShield 2011 and another version before that. Even ISCabView 2011 could not open data1.cab, while ISCabVu from an older version was able to extract it. Then, I see a data2.cab which even ISCabVu was not able to extract, complaining about missing data2.hdr. UniExtract2 was able to extract both data1.cab and data2.cab, but the contents came out to be the same for both. Mar 16, 2022 at 11:55
  • @OzairKafray It's NP. Was just trying to clarify my answer. IS extractions were always a pain in the XXX. MS used it for years IMO because of it's MSI based proprietary/closed cab compression system (MS knew people would have hard time extracting anything from the cab files). But, yeah, they have no doubt improved uniextract over the years. Did quick google - have you seen this before: github.com/lifenjoiner/ISx ? Try a 'release' - if it works on newer IS builds (>=12) let me know and I'll add to answer..
    – B. Shea
    Mar 16, 2022 at 18:09
  • 1
    iscab.exe worked fine for IS14. Note that it's simpler to use the included iscab.bat which automates the process you described (but unfortunately it needs some modifications to support paths with spaces).
    – EvgenKo423
    May 17, 2023 at 14:33
0

Download the InstallShield CAB Utilities specific to your version here:

http://www.sac.sk/files.php?d=7&l=I

Use this webpage for reference on how to use them:

http://74.125.95.132/search?q=cache:qF8aMTUs09YJ:www.experts-exchange.com/Software/System_Utilities/Compression_Tools/Q_23617325.html+can%27t+open+a+CAB+file&cd=5&hl=en&ct=clnk&gl=us

7
  • 3
    winzip doesn't do the job, i need to extract an install shield cab file, not a microsoft cab file.
    – user18411
    Dec 28, 2009 at 21:37
  • you're linking to a website that requires to register a trial account in order to view the content? very funny.
    – Molly7244
    Dec 29, 2009 at 22:27
  • Wasn't purposefully done, but I'm now using the cached link as a quick fix...
    – Mark
    Dec 30, 2009 at 12:31
  • Don't link to EE on SuperUser... It would be bad... Try to imagine all life as you know it stopping instantaneously and every molecule in your body exploding at the speed of light... Anyway, even cache version won't work. Just don't put such links.
    – Gnoupi
    Dec 30, 2009 at 13:40
  • Cached version will work, just scroll all the way down
    – Mark
    Dec 30, 2009 at 13:48
0

The unshield command of the SynCE project worked for me.

0

if you are on linux, try p7zip

7z x your.cab

just works.

-5

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
  • 7
    IZArc doesn't do the job, i need to extract an install shield cab file, not a microsoft cab file.
    – user18411
    Dec 28, 2009 at 21:37

You must log in to answer this question.