innoextract
A tool to unpack installers created by Inno Setup


About

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


License: zlib/libpng

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.

While developed on Linux, innoextract is meant to work with any C++03 / C++11 compiler, architecture and operating system supported by CMake, Boost, liblzma and iconv.

Announcements

innoextract 1.4 released

See the full changelog for more details.

Download

The current version of innoextract is 1.4 (changelog):

The files have been signed with this OpenPGP key (D7E1DEC9).
FreeBSD binaries are compiled for FreeBSD 9.1, but will likely also work on older versions.

Older versions are available here and on SourceForge.

Mac OS X

There are no pre-built innoextract binaries 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.

Packages

innoextract packages are available for the following operating systems and Linux distributions:

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
Mageia Core innoextract 1.4 distro
OpenBSD OpenBSD Ports innoextract 1.4 distro Instructions
openSUSE home:dscharrer on OBS innoextract 1.4 own Instructions
openSUSE Archiving on OBS innoextract 1.4 distro Instructions
PLD Linux packages innoextract 1.3 distro
Slackware 13.37 - 14.1 ~alien innoextract 1.3 user
Slackware 14.0 - 14.1 slackbuilds.org innoextract 1.4 user
Ubuntu ppa:arx/release innoextract 1.4 own Instructions
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
Ubuntu 14.10 (utopic) 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.

Other Binaries

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.

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.

Usage

To extract a setup file to the current directory run:

$ innoextract <file>

A list of available options can be retrieved using

$ innoextract --help

Documentation is also available as a man page:

$ man 1 innoextract

Compatibility

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

Limitations

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

Development Information

Related Projects