InnoUnpacker - a GUI for extract Inno Setup installers

Submit portable freeware that you find here. It helps if you include information like description, extraction instruction, Unicode support, whether it writes to the registry, and so on.
Post Reply
Message
Author
User avatar
rbon
Posts: 448
Joined: Wed Mar 28, 2007 2:16 am
Location: Italy

InnoUnpacker - a GUI for extract Inno Setup installers

#1 Post by rbon »

InnoUnpacker is a graphical user interface (GUI) for these console applications:
• Original version Innounp http://sourceforge.net/projects/innounp (can be used up to InnoSetup 6.1)
• Updated Unicode version Innounp-1 (Console version) https://github.com/jrathlev/InnoUnpacke ... /innounp-1 (can be used up to InnoSetup 6.3)
and it perform the extraction of Inno Setup installers up to v6.3.3.
The executable setup to be processed can be loaded via a file selection dialog, just by drag & drop, using the command line or by an entry in the Windows context menu for exe files.
Immediately after opening, the basic file info of the setup is displayed.

All other functions are activated by clicking on one of the buttons:
• General information about the setup
• A list of all included files
• All supported languages
• Verify setup file
• Start file extraction
• Select destination directory for extracted files
• Optionally, you can specify whether only the installation script or the files matching a filter are to be extracted. button is provided to only select the install script.

Optionally, you can specify whether only the installation script or the files matching a filter are to be extracted. button is provided to only select the install script.

Note on execution as portable program:
The program settings are normally stored in the InnoUnpack.ini file in the user's Application data folder (%AppData%).
If the program is started from a device connected via USB, the folder of the executable file of the program is used instead (working folder).
The same applies if the program is started with the command line option "/p", if you start the program from your hard disk.

Links and details:
• program page (from author's website): https://www.rathlev-home.de/index-e.htm ... tml#unpack
• GitHub project: https://github.com/jrathlev/InnoUnpacker-Windows-GUI
• download Executable program as zip archive: https://www.rathlev-home.de/tools/downl ... packer.zip
• download Console version 'innounp-1': https://www.rathlev-home.de/tools/downl ... ounp-1.zip
• download source code: https://www.rathlev-home.de/sources/dow ... pack-s.zip
• current version: v2.0
• release date: December 7, 2024
• translations: English, German, French, Italian and Hungarian.
• extract Inno setup installers: from v2.0.7 to v6.3.3
• InnoUnpacker is a 32 bit program
• Windows supported: Win7, Win8.1, Win10 and Win11

Command line flags:
these flags are written inside file 'InnoUnpack.txt' at https://github.com/jrathlev/InnoUnpacke ... Unpack.txt
and they are:

Code: Select all

Command line options: [<name>] [/d:<ddir>] [/f:<filter>] [/p] [/m] [/s] [/a] [/o] [/la:xx]
  setupname          Name of InnoSetup archive to be extracted
  /d:destdir	     Directory for unpacked files
  /f:filter	     File filter
  /p                 run as portable program  
  /m                 process internal embedded files
  /s                 extract files without paths
  /a                 process all copies of duplicate files
  /o                 overwrite files
  /la:xx             Language selection (xx = en, de, fr, it or hu)
N.B.
language selection flag has changed from '/l:' to '/la:' with version 2.0.

Launcher yaP:
I have create a yaP launcher for InnoUnpacker v2.0

Code: Select all

; configuration file for yaP v0.7.x (http://rolandtoth.hu/yaP/)
; application name: InnoUnpacker 
; application type: 32 bit (for Windows 7, 8, 10 and 11)
; version: 2.0
; website: https://www.rathlev-home.de/tools/prog-e.html#unpack

[GENERAL]
application = App\InnoUnpack.exe
commandline = /p /la:en
; commandline = /p /la:it
; commandline =
; workdir =

[BEFORE]
; dir = %Appdata%\Dir
; file = %Appdata%\Dir\File.ini

[AFTER]
; -dir = %Appdata%\Dir :: ifempty
; -file = %Appdata%\File*
; -regkey = HKCU\Software\RegKey :: ifempty
...
Screenshot with references:


Where (references details):
1. Box with program that be extracted
2. Show general information
3. Show list of all contained files
4. Show list of all supported languages
5. Check integrity of files contained inside installer
6. Extract files (you can use wildcards or file by type or single file)
7. Select unpack tool (the commandline tool used by this GUI https://github.com/jrathlev/InnoUnpacke ... /innounp-1)
8. Copy output to clipboard (it's Ctrl-A), then you can copy from clipboard to your editor
9. Exit from program

yaP launcher:
--> this launcher start with 'english' language', but you can easy change it.
Attachments
InnoUnpacker_yaP_x32_v3.zip
(66.46 KiB) Downloaded 55 times
Last edited by rbon on Fri Jan 10, 2025 5:49 am, edited 1 time in total.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning." - Rick Cook.

User avatar
Midas
Posts: 6956
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: InnoUnpacker - a GUI for extract Inno Setup installers

#2 Post by Midas »

Great work, rbon. 8)

Minor note to point out that the first line of your 'InnoUnpackerPortable.ini' should more correctly be:

Code: Select all

; configuration file for yaP v0.7.1.5 (http://yap.rolandtoth.hu/)
Unfortunately and for lack of updates, yaP has been populating its INIs with a dead home URL (namely http://rolandtoth.hu/yaP/) for ages...

User avatar
rbon
Posts: 448
Joined: Wed Mar 28, 2007 2:16 am
Location: Italy

Re: InnoUnpacker - a GUI for extract Inno Setup installers

#3 Post by rbon »

Midas wrote: Thu Jan 09, 2025 4:46 am Great work, rbon. 8)
Thanks
Midas wrote: Thu Jan 09, 2025 4:46 am Minor note to point out that the first line of your 'InnoUnpackerPortable.ini' should more correctly be:

Code: Select all

; configuration file for yaP v0.7.1.5 (http://yap.rolandtoth.hu/)
You're right, it was a bit of distraction.

Changelog:
I have browsed inside author's repository https://github.com/jrathlev/InnoUnpacker-Windows-GUI for full Changelog: nothing.

The full changelog is inside 'Executable program as zip archive' https://www.rathlev-home.de/tools/downl ... packer.zip: download zip archive and look for the file innounp.htm:
in this file You have various sections:
1. Information about the program
2. Usage: All l the command line flags
3. What's new / history:
-> from initial release: 0.04 (2004-02-27)
-> to current release: 1.77 (2024-12-01)
4. Copyright and licensing

Changelog full up to rel. 1.77

Code: Select all

What's new / History
1.77 (2024-12-01)
    - Modifications to support color display in Windows GUI for Inno Setup Unpacker 
1.76 (2024-11-05)
    - New command line option -h to suppress the headline on console output 
    - Colored console output (option -o to disable) 
    - Automatic switching of the console to UTF-8 (code page 65001) if required 
    - Encoding of standard console output fixed 
1.75 (2024-11-01)
    - New command line option -l to list all languages supported by the installation 
    - Changed command line option -i to list all supported Inno Setup versions (formerly -l) 
1.74 (2024-10-30)
    - UTF-8 encoding in section [setup] of install_script.iss fixed 
1.73 (2024-10-09)
    - UTF-8 encoding in section [files] of install_script.iss fixed 
1.72 (2024-07-30)
    - Fixes issue on extracting zip compressed setups (2.0 - 4.1) 
    - Enhanced output on extract and test command 
1.71 (2024-06-23)
    - Adaption of script building to IS 6.3 
1.70 (2024-06-23)
    - Added support for IS 6.3 
1.67 (2024-01-10)
    - Fixes issue on encrypted setups 
1.66 (2023-08-11)
    - Fixes issue on building the small image list in the script 
1.64 (2022-11-29)
    - Supports UTF8 coded filelists 
1.63 (2022-06-14)
    - Fixes several issues on extracting embedded files 
    - Fixes an issue on reading custom setups (Inno Setup version 5.4 and 5.5) 
1.61 (2021-10-15)
    - Source code revised to use Unicode strings (native string type since Delphi 2009) 
    - Fixed issue with option oaSkip 
    - New command line option -l to list all supported Inno Setup versions 
    - New command line option -u to use UTF-8 for console output 
    - Exit codes added 
    - Compiled with Delphi 10 Seattle 
    - Modifications by J. Rathlev (kontakt(a)rathlev-home.de) 
0.50 (2020-12-18)
    - Added support for IS 6.1. 
    - Fixed broken paths that originally were in UNC format. 
0.49 (2019-05-09)
    - Added support for IS 6.0. 
0.48 (2019-01-25)
    - Added support for IS 5.6.2. 
    - Fixed regression bug introduced by 5.6.0 support. 
0.47 (2018-07-02)
    - Added support for IS 5.6.0 and 5.6.1. 
    - Added AppId field to the script. 
0.46 (2016-04-11)
    - Increased max. LZMA dictionary size to 1Gb (implemented in IS 5.5.9). 
0.45 (2015-12-31)
    - Added support for IS 5.5.7. 
0.44 (2015-11-24)
    - Fixed infinite loop issue on some unsupported versions. 
    - Now -m flag does not affect reconstructed script content. It always contains all info. 
    - Minor changes. 
0.43 (2015-07-18)
    - Added support for IS 5.5.6. 
0.42 (2015-05-27)
    - Added support for IS 1.3.21 and 1.3.25. 
    - Experimental support for some custom IS versions. 
    - Fixed encoding of several entries in reconstructed script. 
0.41 (2015-03-18)
    - All slashes in file paths are converted to Windows style for consistency. 
    - Improved some error messages. 
    - Fixed several parameter names in [INI] section of the script. 
0.40 (2013-12-20)
    - Synchronized Description fields encoding in reconstructed script. 
    - Minor changes. 
0.39 (2013-07-12)
    - Fixed CRC32 calculation during unpacking (regression bug). 
0.38 (2013-02-01)
    - Added InstallDelete and UninstallDelete sections to reconstructed script. 
    - Added some more values to Setup section of reconstructed script. 
    - Several minor reconstructed script improvements. 
0.37 (2012-06-02)
    - Added support for IS 5.5.0. 
    - Fixed problem with reading of large files. 
    - Added some more values to reconstructed script. 
    - Improved FAR MultiArc settings. 
0.36 (2011-06-01)
    - Fixed support for IS 5.4.2. 
    - Fixed issue with '{' symbol in file names. 
0.35 (2010-10-01)
    - Added support for IS 5.2.5 (wasn't released, but such installers can be found). 
    - Added command to test files for integrity. 
0.34 (2010-09-16)
    - Less technical text in some error messages. 
    - Added dump of password hash to reconstructed script. 
    - Added some more values to reconstructed script. 
0.33 (2010-07-05)
    - Fixed encoding for custom messages in reconstructed script. 
    - Fixed several parameters in [LangOptions] section. 
    - Fixed language names in *.isl files for Unicode-based installers. 
    - Added support for legacy IS versions 2.0.8 - 2.0.10. 
0.32 (2010-06-14)
    - Added support for IS versions 5.3.10 (both ANSI and Unicode). 
    - Added support for INI section in reconstructed script. 
0.31 (2010-04-19)
    - Fixed issue with endless decompression loop on incompatible files. 
0.30 (2010-04-12)
    - Fixed issue with password processing for Unicode versions. 
    - Added support for IS versions 5.3.9 (both ANSI and Unicode). 
    - Added support for LZMA2 compression, introduced in 5.3.9. 
0.29 (2010-02-19)
    - Added support for IS versions 5.3.8 (both ANSI and Unicode). 
0.28 (2010-01-14)
    - Added support for IS versions 5.3.7 (both ANSI and Unicode). 
    - Added support for legacy IS versions 2.0.11 - 2.0.17. 
    - Fixed renaming of duplicate files. If we do not use -a then don't append numbers to names
(this switch does not affect different files with same name, only duplicates with same content). 
0.27 (2009-12-04)
    - Yet another tuning for file mask processing. 
    - Added overwrite prompt for files extraction (and option for auto-overwrite). 
    - Several tweaks to reconstructed script. 
0.26 (2009-11-30)
    - Added manifest resource to resolve Vista/Win7 UAC issue. 
    - Added restored %n formatter to custom messages. 
    - Added default OutputBaseFilename value if one from header is empty. 
0.25 (2009-11-26)
    - Added support fro [Dirs] section in reconstructed script. 
    - Moved version parameter in script to comment (since it is not original IS parameter). 
    - Fixed ArchitecturesInstallIn64BitMode and ArchitecturesAllowed flags in script. 
    - Fixed file mask processing in some cases. 
0.24 (2009-11-20)
    - Added support for IS versions 5.3.6 (both ANSI and Unicode). 
    - Added version information resource. 
    - Fixed extraction of multiple files with same name. 
0.23 (2009-09-25)
    - Added support for IS versions 5.3.5 (both ANSI and Unicode). 
    - Added Inno Setup version info to reconstructed install script. 
0.22 (2009-08-24)
    - Added support for Unicode versions. 
    - Added support for IS versions 5.3.0 - 5.3.4 (both ANSI and Unicode). 
    - Fixed rare issue with double backslashes in file path. 
0.21 (2009-04-24)
    - Supports legacy IS versions 2.0.18 - 2.0.19 
0.20 (2008-05-23)
    - Supports IS up to version 5.2.3 
    - Several bugs fixed. 
0.19 (2007-02-23)
    - Supports IS up to version 5.1.10 
    - Fixed wrong representation of Unicode characters in LanguageName. 
    - Another fix to the handling of duplicate file names. 
    - New option -a to extract all copies of duplicate files. 
0.18 (2006-11-23)
    - The reconstructed script now includes the [Types], [CustomMessages], and [Languages] sections. 
    - ROPS disassembler updated to support the latest build of ROPS. 
    - New option -f to read the password from file. This way it can include any special characters.
Be sure to save the file in the correct character encoding as no translations are applied. 
    - Fixed the bug that caused the file timestamps to be inconsistently reported and applied (UTC vs. local). 
    - Updated the decompression libraries: zlib to version 1.2.3, bzip2 to version 1.03, and LZMA to version 4.43 (optimized for speed). 
0.17 (2005-08-31)
    - Supports IS up to version 5.1.5. 
    - Supports Martijn Laan's My Inno Setup Extensions 3.0.6.1 (by request). 
    - The Types parameter is now space-separated, as required by the IS script specification. 
0.16 (2005-04-30)
    - Supports IS up to 5.1.2-beta. 
    - Innounp will try to unpack new versions of IS to handle the cases when the binary format is compatible with one of the previous versions. Use -n to disable this attempt. 
0.15 (2005-03-08)
    - Supports IS up to 5.1.0-beta. 
    - The old bug that prevented innounp from working properly with {reg:...} constants and the like has got another fix. 
    - Preliminary support for the 64-bit extensions that appeared in IS 5.1.0. 
0.14 (2004-10-14)
    - Supports IS up to 5.0.4-beta. 
    - It is now possible to specify the destination directory to extract files into using the -d option. This directory will be created if necessary. 
    - New option -c specifies the current directory inside an installation and prevents the creation of the upper-level directories. MultiArc settings are updated accordingly. 
    - The old -c command is removed. To get the compiled Pascal script, use -m and extract it like a normal file. 
0.13 (2004-08-26)
    - Supports IS up to 5.0.3-beta. 
    - Supports the Components and Tasks sections. 
0.12 (2004-07-28)
    - Supports IS up to 5.0.0-beta. 
    - Improved processing of big installations with many files. 
    - Innounp now supports a certain level of user interaction - it prompts the user for password and disk changes as necessary. To switch this functionality off (e.g. in batch mode), use the -b option. 
    - If no command is specified, innounp displays a brief summary of the specified installation. The old -i command is removed. To get the setup script, extract it like a normal file. 
0.11 (2004-05-04)
    - Supports IS 4.2.2. 
    - Supports ArcFour encryption. Use the -p switch to specify a password if files are encrypted 
0.10 (2004-04-26)
    - Fixed (again): filenames containing invalid characters could not be specified on the command line or in a list file. 
0.09 (2004-04-22)
    - Fixed (again): invalid characters in filenames (such as ':' and '|') made innounp crash. 
    - Updated TC MultiArc settings. 
0.08 (2004-04-14)
    - Added support for IS versions up to 4.2.1. 
    - Added MultiArc settings for Total Commander (thanks to Gnozal). 
    - Fixed a bug in MultiArc settings that prevented shells from displaying file dates and times (thanks to Maxim Ryazanov). 
    - The reconstructed setup script (.iss) is now included together with the 'normal' files. Using -m option it's possible to view/extract other internal files in the same way. 
0.07 (2004-03-16)
    - Multiple files with the same name are not overwritten now, instead they are appended with numbers. 
    - -c command extracts the compiled Innerfuse Pascal Script code to a file. It can then be 'disassembled' with a separate tool. Get one on the download page. 
    - The output of -i command now looks more like .iss script. More data is included. 
0.06 (2004-03-11)
    - Added support for IS versions 3.0.0 - 4.0.0. 
    - Supports installations that were not packaged into a single exe using SetupLdr (these can be identified by the presence of setup.0 which is appended to setup.exe in packaged installations). 
    - -i command displays registry changes made by an installation. 
    - Supports (displays and reads from filelists) filenames with national characters (single-byte character encodings only, Unicode/MBCS was not tested). The correct code page must be set in Windows for this function to work properly. 
    - [fix] File dates and times were not set during extraction. 
0.05 (2004-03-09)
    - Improved batch processing. Now it's possible to browse and extract IS installations in FAR using the supplied settings for the standard MultiArc plug-in. 
    - Removed isbunzip.dll. Bzip2 library is linked statically. 
0.04 (2004-02-27)
    - Initial release. Supports IS versions 4.0.1 - 4.1.8. 
You can also:
1. read this file 'innounp.htm' with Firefox Portable (or another browser) or
2. convert the htm file to pdf with a free online tool:
-> FreeConvert https://www.freeconvert.com/
-> HTM to PDF Converter https://www.freeconvert.com/htm-to-pdf
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning." - Rick Cook.

Post Reply