InnoSetup MultiArc Addon

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

2TychoBarfy
2MVV

Confirmed, the list command via MultiArc works flawlessly and InnoUnp can unpack LZMA2 compressed InnoSetup installers just fine.

This is where I got stuck a couple of weeks ago: Both the downloadable installer for PDF24 Creator v9.2.2 and v10.0.11 are created with Inno v.6.0.0. The PDF24 Creator v9.2.2 installer can be unpacked via MultiArc (BatchUnpack=1), the other one not, although the listings work correctly. I had in mind it's probably related to how the files are compressed, but couldn't put my finger on it.

EDIT: I just checked and found that both PDF24 Creator installers are compressed with LZMA2, so that is certainly not the root cause of the issue.

For such cases, I created the following solution to unpack the InnoSetup installer directly with InnoUnp:
  1. A folder is created in the passive TC file panel, using the filename of the currently highlighted InnoSetup installer of the active TC file panel.
  2. The InnoSetup installer gets extracted entirely into the subfolder of the passive TC file panel without any further prompts.
The elegance of this solution is that it allows choosing the destination of the unpacked files, and the unpacked files reside in a subfolder named after the InnoSetup installer. That's convenient for unpacking several InnoSetup installers to the same destination directory, without overwriting/intermixing each other.

Wincmd.ini:

Code: Select all

[user]
menu1=&Innounp
cmd1=%ComSpec% "%commander_path%\menu\uninno.bat"
param1="%t%O" %N
UnInno.bat:

Code: Select all

md %1
"%commander_path%\util\innounp.exe" -x -d%1 -y %2
exit
Perhaps MVV can take a look at the issue to see whether it can be fixed in MultiArc? As I pointed out above in an EDIT, it seems not to be related to the use of LZMA2 compression.
TychoBarfy
Senior Member
Senior Member
Posts: 340
Joined: 2005-08-13, 15:13 UTC
Location: Berlin, Germany
Contact:

Re: InnoSetup MultiArc Addon

Post by *TychoBarfy »

For this I use a Button with UniExtract since a long time. :wink:

Code: Select all

%COMMANDER_PATH%\Packer\Uniextract\UniExtract.exe
%P%N %T%O
But I would prefere MultArc, because you can extract and view single files too.
Last edited by TychoBarfy on 2021-04-15, 19:32 UTC, edited 1 time in total.
TychoBarfy
Senior Member
Senior Member
Posts: 340
Joined: 2005-08-13, 15:13 UTC
Location: Berlin, Germany
Contact:

Re: InnoSetup MultiArc Addon

Post by *TychoBarfy »

2deus-ex
2MVV
I have gathered some problematic InnoSetups (almost v5) for testing.
Here is the list:

Code: Select all

1X-Ripper
Inno Setup Setup Data (5.5.0)
https://www.heise.de/download/product/1x-ripper-42266

Acrylic Wi-Fi Home
Inno Setup Setup Data (5.5.0) (u)
https://www.acrylicwifi.com/de/downloads/

Fast CD Ripper
Inno Setup Setup Data (5.3.10)
https://www.heise.de/download/product/fast-cd-ripper-11689

CheckDrive 2018
Inno Setup Setup Data (5.5.7) (u
https://www.heise.de/download/product/checkdrive-52525

ISO2Disc
Inno Setup Setup Data (5.5.0)
Inno Setup Setup Data (5.5.7) (u) newer version
https://iso2disc.en.lo4d.com/windows

IZArc Command Line Add-On
Inno Setup Setup Data (5.5.0)
https://www.izarc.org/downloads

LEADERTASK Task Planner for Remote Working
Inno Setup Setup Data (5.1.13)
https://www.leadertask.com/

MPC-HC
Inno Setup Setup Data (5.5.7) (u)
https://mpc-hc.org/
https://www.heise.de/download/product/media-player-classic-home-cinema-54610

Personal Backup 6
Inno Setup Setup Data (5.5.7)
Inno Setup Setup Data (6.1.0) (u) no probs
https://personal-backup.rathlev-home.de/download.html

Secure Eraser
Inno Setup Setup Data (5.4.2) (u)
https://www.ascomp.de/de/products/show/product/secureeraser

ChrisPC Win Experience Index
Inno Setup Setup Data (5.5.7) (u)
https://win-experience-index.chris-pc.com/

SolSuite
Inno Setup Setup Data (5.3.3)
https://www.solsuite.com/download.htm

TweakUAC
Inno Setup Setup Data (5.4.2)
https://www.majorgeeks.com/files/details/tweakuac.html

VSDC Free Video Editor
Inno Setup Setup Data (5.5.7) (u)
http://www.videosoftdev.com/free-video-editor/download?AVGAFFILIATE=55741

Virtual Magnifying Glass
Inno Setup Setup Data (5.5.0) (u)
http://magnifier.sourceforge.net/
Last edited by TychoBarfy on 2021-04-15, 19:29 UTC, edited 1 time in total.
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

Hi TychoBarfy,

I think in this forum English is the preferred language, so users worldwide can follow it more easily. :)
Thanks for providing new problem examples, it's much appreciated.

1. TweakUI
Does not contain any InnoSetup installer, it's just a plain executable ready to run.

2. VSDC Free Video Editor
When trying to unpack with InnoUnp, this installer requests the user to input a password to continue the installation routine. My script does not support the input of passwords, because InnoSetup installers should not request a password in the first place IMHO. What's it actually good for, when eventually the contents get unpacked and installed anyway? Usually, the user does not know the password, and it cannot be easily extracted from the installer.

Note, that running the VSDC Free Video Editor installer directly the internal initialization process passes the required password to the installation process. The details (see below) of the password protection are stored in the file install_script.iss, which is located in the root folder:

Code: Select all

; Encryption=yes
; PasswordHash=76b50771a8aeeea0de57c0835e8493003655054a
; PasswordSalt=7141f4311175700b
3. Virtual Magnifying Glass
Another example where the archive listing is correctly retrieved and any file from the root folder can be extracted, but extraction of any file located in a subdirectory via MultiArc fails. Btw., this installer uses LZMA compression. InnoUnp is able to extract the entire archive fine.

The last days I spend trying to find a fix for the extraction issue via MultiArc, using different settings in MultiArc, but all to no avail. I did not even manage to get MultiArc's console working. I hoped the console would give a peek at what's probably going wrong.

We need to wait for MVV's input. Hopefully, he is doing fine and shows up here soon.
Last edited by deus-ex on 2021-04-15, 19:36 UTC, edited 2 times in total.
TychoBarfy
Senior Member
Senior Member
Posts: 340
Joined: 2005-08-13, 15:13 UTC
Location: Berlin, Germany
Contact:

Re: InnoSetup MultiArc Addon

Post by *TychoBarfy »

Sorry, I edited my posts.
We need to wait for MVV's input. Hopefully, he is doing fine and shows up here soon.
Yeah, would be great. :)
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

Hi there. And I edited my post while you edited yours.
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

I just retested my Inno Setup addon v3.0 with my collection of old Inno Setup installers (see listing below). All Inno Installer versions that are supposed to be supported can be listed/unpacked without flaws and all those that InnoUnp currently cannot handle are correctly rejected.

Code: Select all

___________________________________________________________________________________
Version         Offset(hex)     IDPos   Unpacker Comment
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
1.3.6           0xCF44          53060   IETotal
1.3.9           0xCF44          53060   IETotal
1.3.10          0xCF44          53060   IETotal
1.3.16          0xCF44          53060   IETotal
1.3.16(ISX)     0xEA50          59984   IETotal
1.3.17(ISX)     0xEA50          59984   IETotal
1.3.20(ISX)     0xCF44          53060   IETotal
1.3.21          0xCF44          53060   InnoUnp
1.3.21(ISX)     0xCF44          53060   IETotal
1.3.25          0xD144          53572   InnoUnp
1.3.25(ISX)     0xD144          53572   IETotal
-----------------------------------------------------------------------------------
2.0.8           0xD144          53572   InnoUnp
2.0.8(ISX)      0xD144          53572   IETotal
2.0.8(UPXed)    0x4435B         279387  InnoUnp
2.0.11          0xD144          53572   InnoUnp
2.0.11(ISX)     0xD144          53572   IETotal
2.0.17          0xD144          53572   InnoUnp
2.0.18          0xD144          53572   InnoUnp
2.0.18(ISX)     0xD144          53572   IETotal
-----------------------------------------------------------------------------------
3.0.1           0xD144          53572   InnoUnp
3.0.1(ISX)      0xD144          53572   IETotal
3.0.3           0xD344          54084   InnoUnp
3.0.3(ISX)      0xD344          54084   IETotal
3.0.5           0xD344          54084   InnoUnp
3.0.6.1         0xD347          54087   InnoUnp
-----------------------------------------------------------------------------------
4.0.3           0xD93C          55612   InnoUnp
4.0.5           0xD93C          55612   InnoUnp
4.0.9           0xD93C          55612   InnoUnp
4.0.9(UPXed)    0x5EFCF         389071  InnoUnp (InnoUnp can't handle when unUPXed)
4.0.9(UPXed)    0xB2047         729159  InnoUnp (InnoUnp can't handle when unUPXed)
4.0.10          0xD93C          55612   InnoUnp
4.0.10(UPXed)   0x17264E        1517134 InnoUnp (InnoUnp can't handle when unUPXed)
4.1.0           0xD93C          55612   InnoUnp
4.1.3           0xD93C          55612   InnoUnp
4.1.5           0xD93C          55612   InnoUnp
4.1.8           0x8F58          36696   InnoUnp
4.2.1           0x8F84          36740   InnoUnp
4.2.2           0x8F84          36740   InnoUnp
4.2.2(jpe)      0xB8B8          47288   IETotal
4.2.3           0x8F88          36744   InnoUnp
4.2.5           0x8F88          36744   IETotal
4.2.6           0x8F88          36744   InnoUnp
-----------------------------------------------------------------------------------
5.0.4           0x9188          37256   InnoUnp
5.1.2           0x9588          38280   InnoUnp
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: InnoSetup MultiArc Addon

Post by *MVV »

Well, regarding password-protected files, one can use my ConPaste tool for adding a password request for them, e.g.:

Code: Select all

List="ConPaste.exe /s /h%AQ /c%AWQ /p\"Type in a password:\" \"Type in a password\" %PQA -v -m %AQA"
Extract="ConPaste.exe /s /h%AQ /c%AWQ /p\"Type in a password:\" \"Type in a password\" %PQA -e -m %AQA {@%LQA}"
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Type in a password:\" \"Type in a password\" %PQA -x -m %AQA {@%LQA}
Regarding unpack failure, if I got it right, MultiArc is able to list files but fails to unpack specific files via InnoUnp, so there should be some problem either in MultiArc while creating list file or in InnoUnp while handling passed list file. One can try to steal MultiArc-created list file and repeat InnoUnp execution from console...
TychoBarfy wrote: 2021-04-10, 14:05 UTC File example with Inno Setup Setup Data (6.0.0.0):
https://fileforum.com/detail/Highlight-for-Windows/1028713443/1

I use ad-don provided by deus-ex since today.

EDIT: May be that's a question for InnoUnp developer?!
I've tried manual InnoUnp execution in console with given archive and got a strange InnoUnp error message.

List file contents:

Code: Select all

{app}\highlight.exe
Command (current directory set to a temp directory created by MultiArc and full paths to all files used in contrast to this shortened example):

Code: Select all

InnoUnp.exe -x -m highlight-setup-4.0-x64.exe @lstA07F.tmp
Console output of InnoUnp.exe:

Code: Select all

; Version detected: 6000 (Unicode)
#557 {app}\highlight.exe
Reading slice highlight-setup-4.0-x64.exe
Error (Exception) "MoveFile failed; code 649.%nОперация создания прервана, поскольку имя, содержит по крайней мере одну точку подключения, которая ссылается на том, к которому объект данного устройства не подключен" at address 0048D31C
English description of mentioned Windows error:

Code: Select all

ERROR_MOUNT_POINT_NOT_RESOLVED

649 (0x289)

The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached.
When I've tried the same command in another directory (on another volume with shorter path) with relative paths (with innounp.exe, archive file and list file in working directory), InnoUnp has crashed:

Code: Select all

Exception EFatalError in module InnoUnp.exe at 00097353.
2.
I would agree that it is a question for InnoUnp developer since this test was done using InnoUnp only...
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

MVV wrote: 2021-05-01, 15:30 UTC Well, regarding password-protected files, one can use my ConPaste tool for adding a password request for them
Yes, this is known. But why would you prompt the user for a password that certainly can't be known? Therefore I opted for just letting MultiArc fail to retrieve a listing.

MVV wrote: 2021-05-01, 15:30 UTC Regarding unpack failure, if I got it right, MultiArc is able to list files but fails to unpack specific files via InnoUnp, so there should be some problem either in MultiArc while creating list file or in InnoUnp while handling passed list file.
For these problem InnoSetup installers, MultiArc retrieves the listing from InnoUnp and lets you browse the archive in Total Commander as usual. And you can unpack any file from the root folder via MultiArc, but you cannot unpack any files located in a subfolder.

InnoUnp however is able to unpack such problem installers completely. Maybe there is some special handling required, and InnoUnp does this internally without communicating it to the user. Again, the odd thing is that with MultiArc you can extract files from the root folder of these problem installers, but not from any of its subfolders.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: InnoSetup MultiArc Addon

Post by *MVV »

Yes, this is known. But why would you prompt the user for a password that certainly can't be known? Therefore I opted for just letting MultiArc fail to retrieve a listing.
As for me, mostly password for an installer is known, therefore I prefer ConPaste.
For these problem InnoSetup installers, MultiArc retrieves the listing from InnoUnp and lets you browse the archive in Total Commander as usual. And you can unpack any file from the root folder via MultiArc, but you cannot unpack any files located in a subfolder.

InnoUnp however is able to unpack such problem installers completely. Maybe there is some special handling required, and InnoUnp does this internally without communicating it to the user. Again, the odd thing is that with MultiArc you can extract files from the root folder of these problem installers, but not from any of its subfolders.
As I discovered, current InnoUnp can't properly extract a file from e.g. {app} directory when I put its path to a filelist and pass filelist to InnoUnp (and we know that it worked in older InnoUnp releases), it is definitely not a MultiArc problem that InnoUnp can't properly handle filelists.
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

MVV wrote: 2021-05-02, 10:43 UTCAs for me, mostly password for an installer is known, therefore I prefer ConPaste.
So how do you achieve the password?

MVV wrote: 2021-05-02, 10:43 UTCAs I discovered, current InnoUnp can't properly extract a file from e.g. {app} directory when I put its path to a filelist and pass filelist to InnoUnp (and we know that it worked in older InnoUnp releases), it is definitely not a MultiArc problem that InnoUnp can't properly handle filelists.
That is not the issue, I'm afraid. For example, check these content listings of PDF24 Creator v9.2.2 and PDF24 Creator v10.0.11 generated with InnoUnp. For the most part, both installers have the same directory structure, the main content is located in the subfolder {app}.

PDF24 Creator v9.2.2 can be extracted completely via MultiArc, but for PDF24 Creator v10.0.11 any file located in any subfolder cannot. Both installers also have a subfolder {tmp} in their root dir. While you can extract the contents of the {tmp} folder from PDF24 Creator v9.2.2 via MultiArc, it does not work for PDF24 Creator v10.0.11.


Download links for the PDF24 Creator installers:

Code: Select all

https://stx.pdf24.org/products/pdf-creator/download/old/pdf24-creator-9.2.2.exe
https://stx.pdf24.org/products/pdf-creator/download/pdf24-creator-10.0.12.exe
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: InnoSetup MultiArc Addon

Post by *MVV »

Can you extract a file from both installers using InnoUnp with list file?
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

MVV wrote: 2021-05-02, 16:15 UTC Can you extract a file from both installers using InnoUnp with list file?
Yes, I can. I just tested this successfully for files with and without spaces in the filename. See below the two @listfiles generated by MultiArc which I fetched from MultiArc's temp folder at c:\Users\%username%\AppData\Local\Temp\$mltwcx. I used the following command-lines:

innounp.exe -x "PDF24 Creator v9.2.2.exe" @1.tmp (1.tmp = listfile generated by MultiArc)
innounp.exe -x "PDF24 Creator v10.0.12.exe" @1.tmp

Each listfile contains just one entry = one file. I also successfully tried with one listfile containing both entries = two files. It appears that InnoUnp.exe is not causing the issue.

Listfile 1:

Code: Select all

{app}\license_German.txt

Listfile 2:

Code: Select all

"{app}\Online PDF Tools.url"


EDIT:
Please note, that extraction of the problematic Inno-Installer PDF24 Creator v10.0.12.exe via MultiArc including subdirectories works, when you set BatchUnpack=0. TychoBarfy kindly pointed this out previously.


Please also answer my previous question (see below):
deus-ex wrote: 2021-05-02, 12:34 UTC
MVV wrote: 2021-05-02, 10:43 UTCAs for me, mostly password for an installer is known, therefore I prefer ConPaste.
So how do you achieve the password?
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: InnoSetup MultiArc Addon

Post by *deus-ex »

MVV wrote: 2021-05-01, 15:30 UTCI've tried manual InnoUnp execution in console with given archive and got a strange InnoUnp error message.

List file contents:

Code: Select all

{app}\highlight.exe
Command (current directory set to a temp directory created by MultiArc and full paths to all files used in contrast to this shortened example):

Code: Select all

InnoUnp.exe -x -m highlight-setup-4.0-x64.exe @lstA07F.tmp
Console output of InnoUnp.exe:

Code: Select all

; Version detected: 6000 (Unicode)
#557 {app}\highlight.exe
Reading slice highlight-setup-4.0-x64.exe
Error (Exception) "MoveFile failed; code 649.%nОперация создания прервана, поскольку имя, содержит по крайней мере одну точку подключения, которая ссылается на том, к которому объект данного устройства не подключен" at address 0048D31C
English description of mentioned Windows error:

Code: Select all

ERROR_MOUNT_POINT_NOT_RESOLVED

649 (0x289)

The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached.
When I've tried the same command in another directory (on another volume with shorter path) with relative paths (with innounp.exe, archive file and list file in working directory), InnoUnp has crashed:

Code: Select all

Exception EFatalError in module InnoUnp.exe at 00097353.
2.
I would agree that it is a question for InnoUnp developer since this test was done using InnoUnp only...

I got curious and downloaded highlight-setup-4.0-x64.exe to try for myself. I have no issues unpacking {app}\highlight.exe using this command-line:

Code: Select all

innounp.exe -x highlight-setup-4.0-x64.exe @1.tmp
1.tmp:

Code: Select all

{app}\highlight.exe
InnoUnp.exe works as intended. Probably there is an issue on your end, perhaps filesystem related?
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: InnoSetup MultiArc Addon

Post by *MVV »

If there is an issue with my OS, I can't handle it and don't know the reason.
Please also answer my previous question (see below):
I don't say that password may be found for any installer. But there are some cases when it is available, e.g. when an installer is distributed password-protected and password is available for customers.
Post Reply