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.9. (details)
Author: Daniel Scharrer (daniel@constexpr.org)
License: zlib/libpng
innoextract is able to unpack (most) 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 (optionally) iconv.
Announcements
innoextract 1.6 released
- Added support for Inno Setup 5.5.7 (and 5.5.8) installers
- Added a
--collisions=rename-alloption - Fixed issues with the
--collisions=renameoption - Unsafe characters in special constant strings (ie
:in{code:…}) are now replaced with$ - Windows: Fixed progress bar flickering while printing extracted filenames
- Windows binaries: Fixed crash on platforms without AVX support
Download
The current version of innoextract is 1.6 (changelog):
-
innoextract Source Code
(mirror)
innoextract-1.6.tar.gz
179 KiB
MD5:17611d58ed51b8511639e5965c1585c5signature
-
innoextract Windows Binaries
(mirror)
innoextract-1.6-windows.zip
453 KiB
MD5:e3abf26e436c8f1858e2e06a67a37b60signature -
innoextract FreeBSD Binaries
(mirror)
innoextract-1.6-freebsd.tar.xz
621 KiB
MD5:886d6fa28ee03b97e0b1c114d5cbe351signature
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 older versions.
All 32-bit binaries are compiled for i686 (Pentium Pro or newer). 64-bit binaries are included for some platforms.
Older versions are still available for download.
There is also a port of innoextract to Android by Alan Woolley.
macOS
There are no pre-builtinnoextract binaries for macOS (formerly 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:
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.
-
innoextract Linux Binaries
(mirror)
innoextract-1.6-linux.tar.xz
870 KiB
MD5:773f4bdc482f52e94e79217f8604f1eesignature
The Linux tarball includes x86, amd64 and ARMELv6j+hardfloat+vfp (Raspberry Pi compatible) binaries.
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.6 or newer | 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
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 require unrar or unar to be installed, as well as innoextract 1.5 or newer and use of the --gog option.
Limitations
- 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.
- 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 innounp.
Development Information
- 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
Projects using innoextract
- Inno Setup Extractor for Android uses
innoextractas the backend - Debian's
game-data-packagerusesinnoextractto 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
Related Projects
- Inno Setup
innounp- alternative toinnoextractfor Windowsuninno- portable unpacking tool for Inno Setup installers, written in Perlinno2john- cracks password protected Inno Setup generated installers using John the Rippercabextract- unpacker for .cab files used in Microsoft installersunshield- unpacker for .cab files used in InstallShield installers