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


License: zlib/libpng

I originally created innoextract as a way to extract GOG.com installers and Arx Fatalis patches without relying on Wine (for the Arx Libertatis project). However, innoextract should be able to extract all installers that were created by Inno Setup. 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).

Older versions are available on SourceForge and here.

Mac OS X

There are no pre-built innoextract binaries for OS X.
You can build it yourself by downloading the source code and then following these instructions.

Linux and FreeBSD Packages

Here is a list of innoextract packages for various Linux distributions: (installation instructions)

Distribution Repository Package Version Type
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.3 distro Instructions
Debian unstable (sid) main innoextract 1.3 distro Instructions
Fedora home:dscharrer on OBS innoextract 1.4 own Instructions
Gentoo Linux portage tree innoextract 1.4 distro Instructions
Mandriva home:dscharrer on OBS innoextract 1.4 own Instructions
openSUSE home:dscharrer on OBS innoextract 1.4 own Instructions
openSUSE Archiving on OBS innoextract 1.4 distro Instructions
Slackware ~alien innoextract 1.3 user
Slackware 14.0 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

If your favorite distribution is not listed here, first check the appropriate repositories - maybe 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 pre-build binaries. While these should work on any modern x86 or amd64 Linux distribution, using a distribution-specific package, if available, is recommended for better integration with the rest of the system.

The above Linux package also includes an experimental ARMELv6j+harfloat+vfp binary - this should for example run on the Raspberry Pi.
The FreeBSD binaries are compiled for FreeBSD 9.1, but will likely also work on older versions.

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

New Inno Setup versions often change the data format, so innoextract cannot provide good future compatibility. The following table lists the compatible versions:

Inno Setup 5.5.0 to 5.5.3 innoextract 1.3+
Inno Setup 1.2.10 to 5.4.3 innoextract 1.0+

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