Jul 04, 2020 GOG Galaxy application is free to download and offers easy-to-install, easy-to-use, secure, and reliable Games applications. GOG Galaxy is a very fast, small, compact and innovative Freeware Games for Windows PC. It is designed to be uncomplicated for beginners and powerful for professionals. Mar 29, 2021 Downloads; Gaming; GOG Galaxy 2.0.37.330 GOG Galaxy is a fully optional client to install, play and update your games. It also offers online multiplayer, achievements, chat, game-time tracking.
Because I frequently play video games, I will need to have a source of DRM-free games during this project. Thankfully, there are stores that offer DRM-free video games. In particular, gog.com and humblebundle.com/store (Humble Bundle sells some DRM-free content, but not exclusively. gog.com is exclusively DRM-free).
Are these games really DRM-free? Can I play them during my project?
When you buy a game on gog.com, you are given access to a private library web page that you can access by signing in to your gog.com account. From that library page, you can find links to download the games that you have purchased. If you use Windows, they provide a downloader application to make the process more convenient.
By “download the games”, I mean that you will have access to download a set of container files (.zip or .tar.gz formats) and binary executables that can be used to install the software onto any computer running the supported operating system. These installers are DRM-free in the sense that there are no technological restrictions on how many times you can use them, which computers you can use them on, or how many copies you can make.
There are still a number of things about gog.com that consumers should be concerned about:
- The games are non-free and distributed in binary formats, so you must give up control over what you computer is doing and you cannot inspect them for security problems, study how they work or modify them easily.
- gog.com uses Youtube to host trailers for video games and movies. Youtube is DRM.
- Gog.com may terminate your account at any time and deny you access to your game library. However, this is quite different than a site like Steam since any games you have already installed will still run, and any installers you have already downloaded can still be used.
- The terms of service restrict you from sharing the software outside of your household.
- Each game on Gog.com may have a separate End User License Agreement (EULA) that you must agree to.
- You agree not to sell the content that you download on gog.com, or sell your gog.com account. Unlike a video game in cartridge or disk form, you are not allowed to resell a game that you no longer want to play.
Verdict
I believe that I have the right to share my video games and resell them. The gog.com terms of service do not permit me to do either of those things. However, there are no technological restrictions built in to their software that prevent me from doing those things. Thus, there are restrictive terms of service, but no DRM. Therefore, I declare games from gog.com safe for consumption for those on DRM-free diets.
There are a number of things to really like about gog.com
- Unlike Humble Bundle, their entire library is drm-free. They do not bundle drm-free content with Steam keys and you don’t have to search or filter for the DRM-free content amongst a mix of DRM-encumbered stuff.
- Their user policy and privacy policy has a side-by-side legal jargon vs. plain English comparison, so you can know what you are agreeing to without needing to hire a lawyer.
- They have recently started selling DRM-free movies.
- They support Ubuntu and Mint Linux distributions, so you do not have to use a DRM-encumberd operating system like Windows, or Mac OSX to play the games. Note that only some of the games are supported under Linux.
If you want to go the extra mile for your freedom, the free software foundation maintains a list of free (as in “freedom” and usually as in “beer” too) video games. These games can be run however you wish for any purpose, studied, modified and you modifications can be redistributed.
About
Inno Setup is a tool to create installers for Microsoft Windows applications.
innoextract
allows to extract such installers without running the actual setup executable under Windows or using Wine. innoextract
currently supports installers created by Inno Setup 1.2.10 to 6.1.2. (details) Author: DanielScharrer ([email protected])
License: zlib/libpng
License: zlib/libpng
In addition to standard Inno Setup installers,
innoextract
also supports some modified Inno Setup variants including Martijn Laan's My Inno Setup Extensions 1.3.10 to 3.0.6.1 as well as GOG.com's Inno Setup-based game installers. innoextract
is able to unpack 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 cross-platform and meant to work with any C++03
to C++17
compiler, architecture and operating system supported by CMake, Boost, liblzma and (optionally) iconv. Announcements
innoextract 1.9 released
- Added preliminary support for Inno Setup 6.1.0
- Added support for a modified Inno Setup 5.4.2 variant
- Fixed output directory being created for unsupported installers
- Fixed some safe non-ASCII characters being stripped from filenames
- Fixed handling of path separators in Japanese and Korean installers
- Fixed build with newer Boost versions
- Windows: Fixed heap corruption
- Windows: Fixed garbled output
Download
The current version of
innoextract
is 1.9 (changelog): - innoextract Source Code(mirror)innoextract-1.9.tar.gz202 KiB
MD5:964f39bb3f8fd2313629e69ffd3dab9f
signature - innoextract Windows Binaries(mirror)innoextract-1.9-windows.zip509 KiB
MD5:72d0d0dd874b6236eaa44411f4470ee1
signature - innoextract Linux Binaries(mirror)innoextract-1.9-linux.tar.xz888 KiB
MD5:33bdf359c62d4f88a51ae15048ea480e
signature - innoextract FreeBSD Binaries(mirror)innoextract-1.8-freebsd.tar.xz712 KiB
MD5:7e50020f771ce4b1827c1088c6c72a3f
signature
The files have been signed with this OpenPGP key (28555A66D7E1DEC9).
Windows binaries should work on XP or newer.
The Linux tarball includes x86, amd64 and ARMELv6j+hardfloat+vfp (Raspberry Pi compatible) binaries.
FreeBSD binaries are built against FreeBSD 9.1, but will likely also work on other versions.
All 32-bit binaries are compiled for
Windows binaries should work on XP or newer.
The Linux tarball includes x86, amd64 and ARMELv6j+hardfloat+vfp (Raspberry Pi compatible) binaries.
FreeBSD binaries are built against FreeBSD 9.1, but will likely also work on other versions.
All 32-bit binaries are compiled for
i686
(Pentium Pro or newer). 64-bit binaries are included for some platforms. ![Gog Gog](https://images.gog.com/cdc780797c4bb6a4bd6fd39f04348fa470b085c087d851e542fa2ca9c6bbe751.jpg)
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 are also MacPorts and Homebrew packages.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 | |
---|---|---|---|---|---|
Alpine Linux | Alpine packages | innoextract | 1.9 | distro | |
ALT Linux | Sisyphus repository | innoextract | 1.9 | distro | |
AOSC OS | AOSC packages | innoextract | 1.9 | distro | |
Arch Linux | community | innoextract | 1.9 | distro | Instructions |
Calculate Linux | Portage | innoextract | 1.9 | distro | |
Chakra | Chakra Community Repo | innoextract | 1.4 | user | Instructions |
Clear Linux | sysadmin-basic | innoextract | 1.8 | distro | |
Debian stable | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
Debian 8 (jessie) | main | innoextract | 1.4 | distro | Instructions |
Debian 9 (stretch) | main | innoextract | 1.6 | distro | Instructions |
Debian 10 (buster) | main | innoextract | 1.7 | distro | Instructions |
Debian testing (bullseye) | main | innoextract | 1.8 | distro | Instructions |
Debian unstable (sid) | main | innoextract | 1.8 | distro | Instructions |
Deepin | deepin | innoextract | 1.6 | distro | |
Devuan 1 (Jessie) | main | innoextract | 1.4 | distro | |
Devuan 2 (ASCII) | main | innoextract | 1.6 | distro | |
Devuan 3 (Beowulf) | main | innoextract | 1.7 | distro | |
Devuan Testing (Chimaera) | main | innoextract | 1.8 | distro | |
Devuan Unstable (Ceres) | main | innoextract | 1.8 | distro | |
DragonFlyBSD | DPorts | innoextract | 1.8 | distro | |
EL 7 (RHEL 7, CentOS 7, …) | scx on Copr | innoextract | 1.7 | user | |
Fedora | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
Fedora 32 | fedora | innoextract | 1.8 | distro | Instructions |
Fedora 33 | fedora | innoextract | 1.8 | distro | Instructions |
Fedora 34 | fedora | innoextract | 1.9 | distro | Instructions |
FreeBSD | FreeBSD ports | innoextract | 1.9 | distro | Instructions |
Funtoo | nokit | innoextract | 1.7 | distro | |
Gentoo | arx-libertatis overlay | innoextract | 1.9 | own | Instructions |
GuixSD | GNU Guix | innoextract | 1.9 | distro | |
Haiku | HaikuPorts | innoextract | 1.8 | distro | |
Kali Linux | main | innoextract | 1.8 | distro | |
Linuxbrew | linuxbrew-core | innoextract | 1.9 | distro | |
macOS | Homebrew | innoextract | 1.9 | distro | Instructions |
macOS | MacPorts | innoextract | 1.8 | distro | |
Mageia | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
Mageia 6 | Core | innoextract | 1.6 | distro | Instructions |
Mageia 7 | Core | innoextract | 1.7 | distro | Instructions |
Mageia Cauldron | Core | innoextract | 1.9 | distro | Instructions |
Manjaro | community | innoextract | 1.8 | distro | |
NetBSD | pkgsrc | innoextract | 1.9 | distro | Instructions |
NixOS | NixOS packages | innoextract | 1.9 | distro | Instructions |
OpenBSD | OpenBSD ports | innoextract | 1.9 | distro | Instructions |
OpenMandriva | OpenMandriva Association | innoextract | 1.9 | distro | |
openSUSE | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
openSUSE | Archiving on OBS | innoextract | 1.9 | distro | Instructions |
openSUSE Leap 42.1 | official release | innoextract | 1.4 | distro | Instructions |
openSUSE Leap 42.2 | official release | innoextract | 1.6 | distro | Instructions |
openSUSE Leap 42.3 | official release | innoextract | 1.6 | distro | Instructions |
openSUSE Leap 15.0 | official release | innoextract | 1.6 | distro | Instructions |
openSUSE Leap 15.1 | official release | innoextract | 1.7 | distro | Instructions |
openSUSE Leap 15.2 | official release | innoextract | 1.7 | distro | Instructions |
openSUSE Tumbleweed | official release | innoextract | 1.9 | distro | Instructions |
Parabola GNU/Linux-libre | community | innoextract | 1.9 | distro | |
Pardus | main | innoextract | 1.7 | distro | |
Parrot OS | main | innoextract | 1.8 | distro | |
PLD Linux | packages | innoextract | 1.9 | distro | |
PureOS | main | innoextract | 1.8 | distro | |
Raspbian stable | home:dscharrer on OBS | innoextract | 1.9 | own | Instructions |
Raspbian | main | innoextract | 1.8 | distro | Instructions |
Slackware 14.0 | slackbuilds.org | innoextract | 1.4 | user | |
Slackware 14.1 | slackbuilds.org | innoextract | 1.5 | user | |
Slackware 14.2 | slackbuilds.org | innoextract | 1.7 | user | |
Solus | shannon | innoextract | 1.9 | distro | |
Solus | unstable | innoextract | 1.9 | distro | |
Source Mage | grimoire | innoextract | 1.8 | distro | |
SUSE Linux Enterprise 15 | SUSE Package Hub | innoextract | 1.7 | distro | |
Trisquel | main | innoextract | 1.6 | distro | |
Ubuntu | ppa:arx/release | innoextract | 1.9 | own | Instructions |
Ubuntu 16.04 (xenial) | universe | innoextract | 1.5 | distro | Instructions |
Ubuntu 18.04 (bionic) | universe | innoextract | 1.6 | distro | Instructions |
Ubuntu 20.04 (focal) | universe | innoextract | 1.8 | distro | Instructions |
Ubuntu 20.10 (groovy) | universe | innoextract | 1.8 | distro | Instructions |
Ubuntu 21.04 (hirsute) | universe | innoextract | 1.8 | distro | Instructions |
Void Linux | Void Packages | innoextract | 1.9 | distro | |
Windows | Chocolatey | innoextract | 1.9 | user | Instructions |
Windows | MSYS2 | innoextract | 1.9 | user | |
Windows | Scoop | innoextract | 1.9 | user | |
Windows | Yet Another Cygwin Ports | innoextract | 1.9 | user |
If your distribution is not listed, first check Repology's package version list as well as 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.
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.9or newer | Inno Setup 1.2.10 to 6.1.2 |
innoextract 1.8 | Inno Setup 1.2.10 to 6.0.5 |
innoextract 1.7 | Inno Setup 1.2.10* to 5.6.1 |
innoextract 1.6 | 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 |
innoextract
1.7 and older cannot extract installers created by Inno Setup 1.3.0 to 1.3.23. 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. However, innoextract
1.5 or newer can extract them using the --gog
option if either unrar
or unar
is installed. Other newer GOG.com installers don't include the raw files directly but instead store them in GOG Galaxy format: split into small parts which are then individually compressed. These files are named after their MD5 hash and stored in the tmp directory, for example 'tmp/ab/d7/abd72c0dddc45f2ce6098ce3a286066a'.
innoextract
1.7 or newer will automatically re-assemble these parts and extract the original files unless the --no-gog-galaxy
option is used. Install poderosa for free.Alpine Packages
Some multi-part GOG.com installers use .bin slice files larger than 2 GiB - extracting these requires
innoextract
1.8 or newer on 32-bit platforms. Older versions failed with a 'bad chunk magic' error. Sisyphus Repository
![Free Gog Installers Free Gog Installers](https://i2.wp.com/uploads.freegogpcgames.com/image/Icon-512.png?fit=512%2C648&ssl=1)
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.
Also see the list of planned/requested enhancements on the issue tracker.
Another (Windows-only) tool to extract Inno Setup files is
innounp
. Development Information
Projects using innoextract
- Inno Setup Extractor for Android uses
innoextract
as the backend - Debian's
game-data-packager
usesinnoextract
to extract the data for some games. - the ./play.it project uses
innoextract
to extract the data for some games. - The arch-gog project uses
innoextract
in many PKGBUILD scripts - vcmibuilder uses
innoextract
when installing from a GOG.com setup file - arx-install-data from Arx Libertatis uses
innoextract
to extract GOG.com installers and Arx Fatalis patches - The Linux version of the Daikatana 1.3 patch uses
innoextract
in its GOG.com install script - The FreeSpace Open Installer uses
innoextract
to extract data from the FreeSpace 2 GOG.com setup. - The defunct gogonlinux project used
innoextract
to unpack GOG.com installers - The Play on Linux/Mac project has scripts to extract installers using
innoextract
- Legaci, the Legacy Game Commandline Installer can use
innoextract
to unpack GOG.com installers
Related Projects
innounp
- alternative toinnoextract
for 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