You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Daniel Scharrer a51e571929
Release version 1.0
14 years ago
cmake Suppress annoying style warnings. 14 years ago
doc Update list of limitations in README.md and the man page. 14 years ago
src Fix debug build. 14 years ago
CHANGELOG Add a changelog. 14 years ago
CMakeLists.txt Add a man page for the innoextract command. 14 years ago
LICENSE Update copyright year. 14 years ago
README.md Release version 1.0 14 years ago
VERSION Add copyright information to the help output. 14 years ago

README.md

Inno Extract - A tool to extract installers created by Inno Setup

Inno Setup is a tool to create installers for Microsoft Windows applications. Inno Extracts allows to extract such installers under non-windows systems without running the actual installer using wine. Inno Extract currently supports installers created by Inno Setup 1.2.10 to 5.4.3.

Inno Extract is available under the ZLIB license - see the LICENSE file.

Contact

Website

Author: [Daniel Scharrer](mailto:Daniel Scharrer <daniel@constexpr.org>)

Dependencies

  • Boost 1.37 or newer
  • liblzma from xz-utils (optional)

For Boost you will need the headers as well as the iostreams, filesystem, date_time, system and program_options libraries. Older Boost version may work but are not actively supported. The boost iostreams library needs to be build with zlib and bzip2 support.

While the liblzma dependency is optional, it is highly recommended and you won't be able to extract most installers created by newer Inno Setup versions without it.

Compile and install

To compile Inno Extract, run:

$ mkdir -p build && cd build && cmake ..
$ make

To install the binaries system-wide, run as root:

# make install

Build options:

  • USE_LZMA (default=ON): Use liblzma if available.
  • CMAKE_BUILD_TYPE (default=Release): Set to Debug to enable debug output.
  • CMAKE_INSTALL_PREFIX (default: /usr/local on UNIX): Where to install Inno Extract.
  • DEBUG_EXTRA (default=OFF): Expensive debug options
  • MAN_DIR (default: share/man): Install location for man pages (relative to prefix).

Set options by passing -D<option>=<value> to cmake.

Run

To extract a setup file 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

Limitations

  • Inno Extract currently only supports extracting all the data. There is no support for extracting individual files, components or languages.

  • Included scripts and checks are not executed.

  • Data is always extracted to the current directory and the mapping from Inno Setup variables like the application directory to subdirectories is hard-coded.

  • Inno Extract does not check if an installer includes multiple files with the same name and will continually overwrite the destination file when extracting.

  • Names for data files in multi-file installers must follow the standard naming scheme.

  • Encrypted installers are not supported.

A perhaps more complete, but windows-only, tool to extract Inno Setup files is innounp.