Inno Setup Takes Too Long To Extract 7z Compressed File

97 views
Skip to first unread message

Mohammad Kamrul Hassan

unread,
Jan 3, 2026, 2:22:49 AM (7 days ago) Jan 3
to innosetup
Greetings..

First, I must thank the developer and all the contributor to give a such nice installer as a free/open source project.. 

I just download it and tried it for some time

my test project (iss) required to extract few 7z archive along with the installation where some are little big archive likes: 
the first file is:
66 MB compressed size and 256MB uncompressed size. (have only 135 files in it)
and 2nd 2nd file is
164 MB Compressed size and ~1.50GB uncompress size (have around 6k+ files in it)

the first file, took around 1 to 1.30 minutes to extract, really? yes it is..

and the worst case the 2nd file, i wasn't even able to complete it, because even after 30+ minutes of trying it didn't finish the extraction so, i had to terminate the process/installer

And the point is, there must be something wrong about inno setup extraction logic. after some observation it's look like it take time based on number of files not the size of the each file in the archive.

I have recorded a video to give you guys a better understanding..

where extracting the 1st file inno takes about 1 minute, but same file my code (my test app) can extract just in 1-2 seconds! really? see your self.. 

and though i didn't record the 2nd file extraction, but my app only takes about 10-15 seconds to extract the 2nd file

hope someone can investigate and fix the extraction logic?

once again.. thanks to everyone on this development team. and the forum also

best regards

Martijn Laan

unread,
Jan 3, 2026, 4:05:29 AM (7 days ago) Jan 3
to innosetup
Hi,

Op 3-1-2026 om 03:16 schreef Mohammad Kamrul Hassan:
And the point is, there must be something wrong about inno setup extraction logic. after some observation it's look like it take time based on number of files not the size of the each file in the archive.


If you want to get native performance but your archives are solid or contain a large number of files, you need to use  CreateExtractionPage instead of using the extractarchive flag.

Greetings,
Martijn Laan

Mohammad Kamrul Hassan

unread,
Jan 3, 2026, 7:12:57 AM (7 days ago) Jan 3
to innosetup
thanks for your reply..

1st my archive is not solid archive and it's just have 315 files. is that a large number of files?
and of course i can use other alternatives or method .. but i wanted to just share that something can be improved to make things works nicely in built in way..


in that video you will see, same 7z file take around 1 minutes in Inno setup where my app can extract it just in 1/2 seconds... 

my concern is, i am not an expert developer, if i can find and use a logic to extract it fast? why can't you? of course you can :)

if you want i can share the my c# code (little modified from a git hub source) so that you can see what the making difference there..

thanks again for your fast reply

best regards

Martijn Laan

unread,
Jan 3, 2026, 10:40:04 AM (6 days ago) Jan 3
to innosetup
Hi,

Op 3-1-2026 om 13:12 schreef Mohammad Kamrul Hassan:
1st my archive is not solid archive and it's just have 315 files. is that a large number of files?

No, I don’t think that’s a large number of files. To give further advice, please share a small example script and a sample archive that reproduces the problem.

Greetings,
Martijn

Mohammad Kamrul Hassan

unread,
Jan 4, 2026, 8:16:07 PM (5 days ago) Jan 4
to innosetup
once again, thanks a lot for your kind reply..


hope it will help you to pin point the issues..

however, did you check my sample video in previous post? hope so

best regards

Martijn Laan

unread,
Jan 7, 2026, 9:25:04 AM (2 days ago) Jan 7
to innosetup
Hi,

Thank you.

The archive appears to be solid, even though you indicated it was not. The Setup log (also shown in the IDE when you run Setup) contains:

[15:15:57,608]   Start extracting archive <...>\dnb_eng_v2.12.0.2412_x64.7z to <...>. Recurse subdirs? Yes
[15:15:57,608]   Archive is solid; extraction performance may degrade

With a non solid archive, or with a smaller solid block size, extraction should be faster.

If you want to keep the archive solid but still get faster extraction, you will need to switch to using CreateExtractionPage. Note that this does not handle automatic uninstallation of the extracted files.

Best regards,
Martijn


Op 5-1-2026 om 02:16 schreef Mohammad Kamrul Hassan:
--
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/innosetup/9277507e-aa87-497c-ab63-9090b99dde01n%40googlegroups.com.

Mohammad Kamrul Hassan

unread,
Jan 7, 2026, 7:56:47 PM (2 days ago) Jan 7
to innosetup
First i must apologize about solid statement, as i m not very good at how archive file (7z) file is build, and i just generate those archive file using native 7z app, by right click the folder/file and select archive from 7z menu. And i thought, that way it create not solid archive.  but it looks like i am wrong..

however, i have asked several time but you didn't replied whether you check my video or not that i shared few post back.

in that video, you can clearly see, my test app can extract the same archive file in must 1-2 seconds where your app/installer took 1 minute.

my test app (or the support library/logic) does not slows down if it's a solid archive. (i came to know that by now)

so, my point it why don't you try to update your extract logic with some robust algorithm?

i hope and think not only me, it will help many others to achieve a faster installation experience..

and again, if you want i can help you with my logic/codes thought that is in pure c# and uses 7z native extraction library/dll file.

once again.. here is the video link for you to check the speed comparison between your app (aka installer) and my test app


hope you will view this time.. and again.. i am not trying to show you that my app/code is better and offend you any way.. i just want to make sure your app is even better :)

thanks in advance for keep me replying on this post/topic being a super busy person..

best regard

Martijn Laan

unread,
Jan 8, 2026, 2:05:03 AM (yesterday) Jan 8
to innosetup
Hi,

Op 8-1-2026 om 01:56 schreef Mohammad Kamrul Hassan:
my test app (or the support library/logic) does not slows down if it's a solid archive. (i came to know that by now)


When you use the 'extractarchive',  extraction is driven by the main installation logic, causing files to be extracted one by one. If you change your test app to also extract files one by one, and use a solid archive, you will see the same slow down.

Using CreateExtractionPage to extract a solid archive avoids this, and has little downsides.


if you want i can help you with my logic/codes thought that is in pure c# and uses 7z native extraction library/dll file.

Thanks for offering help, but as documented in the help file, it already uses 7z native extraction library/dll.

Greetings,
Martijn

Mohammad Kamrul Hassan

unread,
Jan 8, 2026, 8:26:20 PM (yesterday) Jan 8
to innosetup
thanks again being so kind to me to stick with me for all those my dumb/noobs question as i admitted already i am not as expert as you are :)

btw.. sir, i have tried no solid archive and yes your installer quite fast in that case, but the issue is, non solid archive make the file size bigger which is a headache because another archive is got much bigger if i use non solid.

so, as a alternative, please check the attached images, is there any way i can put an image (number of images as a series which will mostly work as image progress bar) so that .. 
along with the top progress bar.. it will replace the image as the progress moves.. so, for example, i add image000.png to image100.png (0-100&). and it changes/uses those image and the progress changes/moves? hope that make sense? 

i think it's doable using custom script to update/modify the install page, add image object, hook the progress change event, and based on that load and show the correct image.. 

would you please help me with that? in that way.. users can be distracted and don't feel as bored as it is now.. 

thanks in advance
Image PlaceHolder.png

Martijn Laan

unread,
4:46 AM (16 hours ago) 4:46 AM
to innosetup
Hi,

I don't have a script available for that myself, sorry.

Greetings,
Martijn

Op 9-1-2026 om 02:26 schreef Mohammad Kamrul Hassan:
--
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.

Mohammad Kamrul Hassan

unread,
9:39 AM (11 hours ago) 9:39 AM
to innosetup
but can you at least tell me whether that's possible or not using inno setup?

thanks in advance
best regards

Eivind Bakkestuen

unread,
4:13 PM (5 hours ago) 4:13 PM
to inno...@googlegroups.com
Wouldn't it be better for your users if you followed Martijn's  CreateExtractionPage advice?

Reply all
Reply to author
Forward
0 new messages