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.5.4.
innoextract is able to unpack GOG.com installers, 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.
- Improved compatibility with Windows™ (MinGW and MSVC), Mac OS X and FreeBSD systems
- Fixed extracting very large installers with 32-bit builds
- Added support for preserving timestamps of extracted files (enabled by default)
-d) command-line options
- Various bug fixes and tweaks
The current version of
innoextract is 1.4 (changelog):
innoextract Source Code
innoextract Windows Binaries
innoextract FreeBSD Binaries
Mac OS XThere are no pre-built
innoextractbinaries for OS X, but there is a Homebrew package.
You can also build it yourself by downloading the source code and then following these instructions.
Here is a list of
innoextract packages for various Linux distributions and other repositories:
|OS / Distribution||Repository||Package||Version||Type|
|ALT Linux||Sisyphus repository||innoextract||1.4||distro|
|Arch Linux||Arch User Repository||innoextract||1.4||user||Instructions|
|Chakra||Chakra Community Repo||innoextract||1.4||user||Instructions|
|Debian stable (6, 7)||home:dscharrer on OBS||innoextract||1.4||own||Instructions|
|Debian 7 (wheezy)||main||innoextract||1.2+git20120504||distro||Instructions|
|Debian testing (jessie)||main||innoextract||1.4||distro||Instructions|
|Debian unstable (sid)||main||innoextract||1.4||distro||Instructions|
|Fedora||home:dscharrer on OBS||innoextract||1.4||own||Instructions|
|Gentoo Linux||portage tree||innoextract||1.4||distro||Instructions|
|Mac OS X||Homebrew||innoextract||1.4||distro||Instructions|
|openSUSE||home:dscharrer on OBS||innoextract||1.4||own||Instructions|
|openSUSE||Archiving on OBS||innoextract||1.4||distro||Instructions|
|Slackware 13.37 - 14.1||~alien||innoextract||1.3||user|
|Slackware 14.0 - 14.1||slackbuilds.org||innoextract||1.4||user|
|Ubuntu 12.10 (quantal)||universe||innoextract||1.2+git20120504||distro||Instructions|
|Ubuntu 13.04 (raring)||universe||innoextract||1.3||distro||Instructions|
|Ubuntu 13.10 (saucy)||universe||innoextract||1.3||distro||Instructions|
|Ubuntu 14.04 (trusty)||universe||innoextract||1.4||distro||Instructions|
If your distribution is not listed, first check 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.
There is also a port of
innoextract to Android by Alan Woolley.
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.3 or newer||Inno Setup 1.2.10 to 5.5.4|
|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.
innoextractcurrently only supports extracting all the data. There is no support for extracting individual files or components and limited support for extracting language-specific files.
- Included scripts and checks are not executed.
- The mapping from Inno Setup variables like the application directory to subdirectories is hard-coded.
innoextractdoes not check if an installer includes multiple files with the same name and will continually overwrite the destination file when extracting.
- Names for data slice/disk files in multi-file installers must follow the standard naming scheme.
- Encrypted installers are not supported.
Also see the list of planned/requested enhancements on the issue tracker.
A perhaps more complete, but Windows-only, tool to extract Inno Setup files is
- source code repository on GitHub
- bug tracker on GitHub
- Travis CI page
- build logs
- Doxygen documentation
- Ohloh source code statistics
- Debian popularity contest statistics
- Launchpad project
- SourceForge.net page
- Freecode page
Projects using innoextract
- gogonlinux uses
innoextractto unpack GOG.com installers
- Inno Setup Extractor for Android uses
innoextractas the backend
- 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 Gentoo ebuild for games-fps/duke3d-data uses
innoextractto extract GOG.com installers
- The Linux version of the Daikatana 1.3 patch uses
innoextractin its GOG.com install script