Usage
Innounp is a console application, and it uses command-line options to find out what to do. For a more human-friendly interface utilizing FAR or Total Commander as a front-end see the MultiArc section below. Windows Explorer fans: nullz has made some .reg scripts to add innounp into the right-click menu and Richard Santaella crafted a graphical wrapper for innounp (get it on the download page).
innounp [command] [options] <setup.exe or setup.0> [@filelist] [filemask ...]
Commands:
(no) display general installation info
-v verbosely list the files (with sizes and timestamps)
-x extract the files from the installation (to the current directory, also see -d)
-e extract files without paths
-t test files for integrity
Options:
-b batch (non-interactive) mode - will not prompt for password or disk changes
-q do not indicate progress while extracting
-m process internal embedded files (such as license and uninstall.exe)
-pPASS decrypt the installation with a password
-dDIR extract the files into DIR (can be absolute or relative path)
-cDIR specifies that DIR is the current directory in the installation
-n don't attempt to unpack new versions
-fFILE same as -p but reads the password from FILE
-a process all copies of duplicate files
-y assume Yes on all queries (e.g. overwrite files)
If an installation has setup.0 (it is made without using SetupLdr), run innounp on setup.0 instead of setup.exe.
To extract all files from a specific directory, use dirname\*.*, not just dirname.
By default all files are extracted to the current directory. Use -d to override this behaviour. For example, -dUnpacked will create a directory named Unpacked inside the current directory and put the extracted files there.
The -c option is a little more tricky to explain. Suppose you opened an installation in a file manager and browsed to {app}\subdir\program.exe. Now if you copied program.exe to another location, the entire directory tree ({app}\subdir\) would be created and program.exe would be extracted there. -c notifies innounp that you are only interested in paths from the current directory and below, so that your file, program.exe, is extracted right where you intended to copy it, not several directory levels deeper. Note that in order to avoid confusion, files must still be specified by their full path names inside the installation.
Note that an installation can contain several identical files (possibly under different names). Inno Setup stores only one copy of such files, and by default innounp will also unpack one file. If you want to have all files that could ever be installed anywhere, regardless of how many identical files this may get you, -a option will do it.
If -m is specified, the file listing includes embedded\CompiledCode.bin which is the code made by the RemObjects Pascal Script compiler. It is possible to disassemble it using the ifps3_disasm.rar package on the download page. The result is not very readable though since it uses the basic 'disassembler' from IFPS3. Anyone wants to write a decompiler?
Supports Inno Setup versions 2.0.7 through 5.6.1
Changelog:
- Added support for IS 5.6.0 and 5.6.1.
- Added AppId field to the script.