innoextract

用于解压 Inno Setup 创建的安装程序的工具。「A tool to unpack installers created by Inno Setup」

Github星跟蹤圖

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

In addition to standard Inno Setup installers, innoextract also supports some modified Inno Setup variants including Martijn Laan's My Inno Setup Extensions 3.0.6.1 as well as GOG.com's Inno Setup-based game installers.

innoextract is available under the ZLIB license - see the LICENSE file.

See the website for Linux packages.

Contact

Website

Author: Daniel Scharrer

Dependencies

  • Boost 1.37 or newer
  • liblzma from xz-utils (optional)
  • iconv (optional, either as part of the system libc, as is the case with glibc and uClibc, or as a separate libiconv)

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 innoextract can be built without liblzma by manually setting -DUSE_LZMA=OFF, it is highly recommended and you won't be able to extract most installers created by newer Inno Setup versions without it.

To build innoextract you will also need CMake 2.8 and a working C++ compiler, as well as the development headers for liblzma and boost.

See the Website for operating system-specific instructions.

Compile and install

To compile innoextract, run:

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

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

# make install

The default build settings are tuned for users - if you plan to make changes to Arx Libertatis you should append the -DDEVELOPER=1 option to the cmake command to enable debug output and fast incremental builds.

  1. The builtin charset conversion only supports Windows-1252 and UTF-16LE. This is normally enough for filenames, but custom message strings (which can be included in filenames) may use arbitrary encodings.
  2. Enabled automatically if CMAKE_BUILD_TYPE is set to Debug.
  3. Under Windows, the default is ON.
  4. Default is ON if USE_STATIC_LIBS is enabled.
  5. Currently this and enables DEBUG and FASTLINK for faster incremental builds and improved debug output, unless those options have been explicitly specified by the user.
  6. Enabled automatically if DEVELOPER is enabled.
  7. Disabled automatically if SET_OPTIMIZATION_FLAGS is disabled or FASTLINK is enabled.

Install options:, Option, Default, Description, :---------------------------, :--------------------:, :-----------, CMAKE_INSTALL_PREFIX, /usr/local, Where to install innoextract., CMAKE_INSTALL_BINDIR, bin, Location for binaries (relative to prefix)., CMAKE_INSTALL_DATAROOTDIR, share, Location for data files (relative to prefix)., CMAKE_INSTALL_MANDIR, ${DATAROOTDIR}/man, Location for man pages (relative to prefix).

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

Run

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

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

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

Extracting Windows installer executables created by programs other than Inno Setup is out of the scope of this project. Some of these can be unpacked by the following programs:

Disclaimer

This project is in no way associated with Inno Setup or jrsoftware.org.

主要指標

概覽
名稱與所有者dscharrer/innoextract
主編程語言C++
編程語言CMake (語言數: 2)
平台
許可證Other
所有者活动
創建於2012-03-01 04:12:21
推送於2025-02-06 21:28:26
最后一次提交2025-02-06 22:15:28
發布數12
最新版本名稱1.9 (發布於 2020-08-09 20:43:06)
第一版名稱1.0 (發布於 2012-08-03 17:30:40)
用户参与
星數1.1k
關注者數42
派生數138
提交數0.9k
已啟用問題?
問題數158
打開的問題數50
拉請求數5
打開的拉請求數6
關閉的拉請求數23
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?