A tool to unpack installers created by Inno Setup
Inno Setup is a tool to create installers for Microsoft Windows applications.
innoextract allows to extract such installers under non-windows systems without running the actual installer using Wine.
innoextract currently supports installers created by Inno Setup 1.2.10 to 5.6.1. (details)
In addition to standard Inno Setup installers,
innoextract also supports some modified Inno Setup variants including Martijn Laan's My Inno Setup Extensions 22.214.171.124 as well as GOG.com's Inno Setup-based game installers.
innoextract is able to unpack Wadjet Eye Games installers (to play with AGS), Arx Fatalis patches (for use with Arx Libertatis) as well as various other Inno Setup executables. See the list of limitations below.
- Added support for Inno Setup 5.6.0 installers
- Added support for new GOG installers with GOG Galaxy file parts
- Added support for encrypted installers
--list-checksumsoptions to print file information
- Adde a
-V) option to check if an executable is an Inno Setup installer
- Fixed case-sensitivity in parent directory when creating subdirectories
- Fixed issues with names used to load .bin slice files
The current version of
innoextract is 1.7 (changelog):
innoextract Source Code
innoextract Windows Binaries
innoextract FreeBSD Binaries
The files have been signed with this OpenPGP key (28555A66D7E1DEC9).
Windows binaries should work on XP or newer.
FreeBSD binaries are built against FreeBSD 9.1, but will likely also work on other versions.
All 32-bit binaries are compiled for
i686 (Pentium Pro or newer). 64-bit binaries are included for some platforms.
There is also a port of
innoextract to Android by Alan Woolley.
macOSThere are no pre-built
innoextractbinaries for macOS (formerly OS X), but there are also MacPorts and Homebrew packages.
You can also build it yourself by downloading the source code and then following these instructions.
innoextract packages are available for the following operating systems and Linux distributions:
If your distribution is not listed, first check Repology's package version list as well as the appropriate repositories in case someone already created a package for your distribution. If you create your own packages or find one that isn't listed here, please let me know so that I can add them.
For distributions where no package is available, you can either build from source code or use the following distribution-agnostic binaries. Using a distribution-specific package, if available, is recommended for better integration with the rest of the system.
innoextract Linux Binaries
The Linux tarball includes x86, amd64 and ARMELv6j+hardfloat+vfp (Raspberry Pi compatible) binaries.
To extract a setup file to the current directory run:
$ innoextract <file>
A list of available options can be retrieved using
$ innoextract --help
$ man 1 innoextract
innoextract cannot guarantee good forward compatibility as the Inno Setup data format changes frequently. The following table lists the supported versions:
|innoextract 1.7 or newer||Inno Setup 1.2.10 to 5.6.1|
|innoextract 1.6||Inno Setup 1.2.10 to 5.5.9|
|innoextract 1.5||Inno Setup 1.2.10 to 5.5.6|
|innoextract 1.3 to 1.4||Inno Setup 1.2.10 to 5.5.5|
|innoextract 1.0 to 1.2||Inno Setup 1.2.10 to 5.4.3|
GOG.com installers with a 2.x.x version number on the download page or in the filename use Inno Setup 5.5.0 and cannot be extracted by
innoextract 1.2 and older. Older installers use Inno Setup 5.2.3 and usually have no version in the filename.
Some GOG.com multi-part installers with version 2.1.x or higher use RAR archives (renamed to
.bin) to store the game data. These files are not part of the Inno Setup installer. However,
innoextract 1.5 or newer can extract them using the
--gog option if either
unar is installed.
Other newer GOG.com installers don't include the raw files directly but instead store them in GOG Galaxy format: split into small parts which are then individually compressed. These files are named after their MD5 hash and stored in the tmp directory, for example "tmp/ab/d7/abd72c0dddc45f2ce6098ce3a286066a".
innoextract 1.7 or newer will automatically re-assemble these parts and extract the original files unless the
--no-gog-galaxy option is used.
- There is no support for extracting individual components and limited support for filtering by name.
- Included scripts and checks are not executed.
- The mapping from Inno Setup constants like the application directory to subdirectories is hard-coded.
- Names for data slice/disk files in multi-file installers must follow the standard naming scheme.
Also see the list of planned/requested enhancements on the issue tracker.
Another (Windows-only) tool to extract Inno Setup files is
- source code repository on GitHub
- bug tracker on GitHub
- Travis CI page
- Coverity Scan page
- build logs
- Doxygen documentation
- Open Hub source code statistics
- Debian popularity contest statistics
- packaging scripts on GitHub
- Launchpad project
- openSUSE Build Service package
- fresh(code) page
- Repology package version list
Projects using innoextract
- Inno Setup Extractor for Android uses
innoextractas the backend
innoextractto extract the data for some games.
- the ./play.it project uses
innoextractto extract the data for some games.
- The arch-gog project uses
innoextractin many PKGBUILD scripts
- vcmibuilder uses
innoextractwhen installing from a GOG.com setup file
- arx-install-data from Arx Libertatis uses
innoextractto extract GOG.com installers and Arx Fatalis patches
- The Linux version of the Daikatana 1.3 patch uses
innoextractin its GOG.com install script
- The FreeSpace Open Installer uses
innoextractto extract data from the FreeSpace 2 GOG.com setup.
- The defunct gogonlinux project used
innoextractto unpack GOG.com installers
- The Play on Linux/Mac project has scripts to extract installers using
- Inno Setup
innounp- alternative to
uninno- portable unpacking tool for Inno Setup installers, written in Perl
inno2john- cracks password protected Inno Setup generated installers using John the Ripper
cabextract- unpacker for .cab files used in Microsoft installers
unshield- unpacker for .cab files used in InstallShield installers