FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   ISArcEx - A FreeArc Archive Extractor Plugin for InnoSetup (https://fileforums.com/showthread.php?t=104980)

Dragonis40 14-08-2024 05:15

Good morning everybody! I currently use IsArcx.dll for my setup.exe, but i've noticed a couple of things. When .dll file counts the files included in the .bin file that is being installed, it counts the number of files AND the number of folders included in videogame' directory.
Concerning the total aount of files, it counts the total number of files and the number of folders times the number of total .bin files. Is it like thtat? Why? Is it a bug?

BLACKFIRE69 14-12-2024 06:03

ISArcExM
 
1 Attachment(s)
This is an example of how to use ISArcEx.dll with an installer created in Delphi, intended to load the DLL from the temp directory, as requested.


Code:

LibPath := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'bin\';

if not Assigned(ISArcExCl) then
  ISArcExCl := TISArcExM.Create(LibPath);

.

EmirHasan 18-01-2025 01:27

Hello, first of all thank you very much for this wonderful forum I have benefited from it a lot and I apologize if my English is weak, I will talk in detail about the problem I am facing which is: I was working on Redshank[20.08].iss and I was working and compressing files using FreeARC and the following command line:

Quote:

@echo off
freearc a -r -m9 -ep1 -hp -pOceanBox443 OceanData.bin * -xzNewRun.bat
pause
This topic is successful, but I used a more powerful file compression tool "Mini Compressor" and tried compression using the following tools:
Quote:

precomp+nz+static2+XLolz/$bitmapz=bmpz/$bink=bink/$void=void/$photo=jpg/$ogg=ogg/$wavz=wvp/$mp3=mpz
But when exporting the Setup file from Scirpt Inno, I get the clear error in the image :

https://www2.0zz0.com/2025/01/18/08/864756994.png

I tried to add a modification to the arc.ini text:

Quote:

[External compressor : precomp]
header = 0
packcmd = "PreComp\precomp" -cn -intense -ostdout <stdout> $$arcdatafile$$.tmp
unpackcmd = "PreComp\precomp" -ostdout -r stdin <stdin> <stdout>
But I also did not succeed, and this is the closest topic in the forum to solving the problem

nordi 18-01-2025 03:20

Question - ISArcEx + new InnoSetup 6.4.0
 
2 Attachment(s)
Hi there...

InnoSetup 6.4.0 / Win11 : Does anyone have the same problems with the example script ?!

> "MainForm" = identifier error

> using "IsArcExChangeLanguage" = Windows Defender popup

(see pictures)

greetz

nordi 18-01-2025 04:41

1 Attachment(s)
Hi audiofeel,

thx for the answer, with your advice it`s working in IS6.4.0...
-------
But:
I want to use command IsArcExChangeLanguage :
because using different ini-files , I can let translate the messages in different languages while installing...

>> Windows Defender popup :

Solved >> "every pc restart is good" + new GUID :rolleyes: > working now

*perhaps it was the security block in the file properties too

EmirHasan 18-01-2025 04:42

Quote:

Originally Posted by audiofeel (Post 506612)
Most likely, there are no necessary files to help with unpacking in the Unpack folder.

Thanks for the help, all the necessary files to help with unpacking in the Unpack folder

[IMG]https://www2.0zz0.com/2025/01/18/12/132161779.png[/IMG]

[IMG]https://www2.0zz0.com/2025/01/18/12/186811629.png[/IMG]

[IMG]https://www2.0zz0.com/2025/01/18/12/963324439.png[/IMG]

These are the files I have.

Behnam2018 19-01-2025 19:54

I want to add music Button OFF -ON to this script
 
3 Attachment(s)
Hello, I want this script with music. Can you help me please?

I want to add music Button OFF- ON to this script

simple to this setup

nordi 19-01-2025 23:54

add MP3
 
3 Attachment(s)
Quote:

Originally Posted by Behnam2018 (Post 506636)
Hello, I want this script with music. Can you help me please?

Hi,
I attached example scripts below...
(search for "New Lines" in the script for seeing the changes)

greeting
Nordi

nordi 20-01-2025 15:33

ISArcExAddDiskEx - Questions I - different files are shown
 
2 Attachment(s)
Quote:

Originally Posted by BLACKFIRE69 (Post 503863)
ISArcEx - Minor Update
* if you call 'ISArcExAddDisksEx' like this:
ISArcExAddDisksEx('C:\Test\data-langs.bin', 'MyPwd', 'Eng', 'D:\Test\Output');
.

- Question 1 -

Hi Community / Hi Blackfire69,

I have a problem with the names of the files to be extracted.

>> TEST SCRIPT ATTACHED

Description:
In the attached image you can see that something has been selected for installation.
During the installation (extraction), however, a different file from the same archive is displayed.
> But in the end the correct file has been extracted.

I hope, someone can help here.
kind regards
Nordi

nordi 20-01-2025 15:39

ISArcExAddDiskEx - Questions II - different sizes are shown
 
1 Attachment(s)
- Question 2 -

Hi Community / Hi Blackfire69,

I have a second problem with ISArcExAddDisksEx and the shown sizes of the files to be extracted.

>> TEST SCRIPT : ONE POST ABOVE

Description:
In the attached image you can see :
during the installation (extraction), however, a different size from archive is displayed.
(Note: three different bf-files, not single one)

I hope, someone can help here.
kind regards
Nordi

zero.cu 22-06-2025 23:39

error
 
al comprimir usando
arc.exe a -i1 -ep1 -r -ed -s; -w.\z_temp -m=xtool+srep+lolz data.arc folder

me da error la instalacion

nodesire7 07-09-2025 05:13

What is the packaging tool for "ISArcEx"? I need a tool that can package into .bin format. Can anyone recommend one?

Masquerade 10-09-2025 22:33

Uhhhh, there's only one. FreeArc.

wrathma 03-04-2026 01:05

is there any way to unpack multiple archives at once (in parallel) using this?

audiofeel 03-04-2026 19:45

Quote:

Originally Posted by wrathma (Post 509737)
is there any way to unpack multiple archives at once (in parallel) using this?

Think of it like playing music. You can’t play two different songs at the same time using a single player - one has to wait. If you want parallel playback, you need two separate players.
It’s the same here: the unpacking engine works as a single "player". It processes one archive at a time. To unpack multiple archives in parallel, you would need multiple independent instances/processes doing the work simultaneously.
In the context of Inno Setup (and this library), that’s not supported - there’s effectively only one unpacking pipeline, so everything runs sequentially.

wrathma 04-04-2026 00:16

Quote:

Originally Posted by audiofeel (Post 509744)
Think of it like playing music. You can’t play two different songs at the same time using a single player - one has to wait. If you want parallel playback, you need two separate players.
It’s the same here: the unpacking engine works as a single "player". It processes one archive at a time. To unpack multiple archives in parallel, you would need multiple independent instances/processes doing the work simultaneously.
In the context of Inno Setup (and this library), that’s not supported - there’s effectively only one unpacking pipeline, so everything runs sequentially.

i might have a clanky workaround that is to unpack the the big file using the installer and running a batch script on the background to unpack the other small archives. not tested but im pretty sure it will get the job done.

Sergey3695 04-04-2026 15:31

1 Attachment(s)
Quote:

Originally Posted by wrathma (Post 509737)
is there any way to unpack multiple archives at once (in parallel) using this?

https://krinkels.org/resources/marc.412/
p.s. but you need to understand that the processor load is controlled manually. I might update this in the future. (queue).

wrathma 05-04-2026 01:04

Quote:

Originally Posted by Sergey3695 (Post 509756)
https://krinkels.org/resources/marc.412/
p.s. but you need to understand that the processor load is controlled manually. I might update this in the future. (queue).

thanks for your work. could you please upload it here as i dont have permission to download it from krinkels :)

Sergey3695 05-04-2026 14:02

Quote:

Originally Posted by wrathma (Post 509759)
thanks for your work. could you please upload it here as i dont have permission to download it from krinkels :)

Поставил 6.3.3 Inno Setup VCL. Пример Example.iss не работал. Нужно добавить DisableWelcomePage=no в секцию [Setup].
Что залито на сайте прикрепил выше.
Сильно много времени не выиграть, так как xtool и так сильно загружает процессор. Больше решает многопоточность и алгоритм.

BLACKFIRE69 08-04-2026 14:25

Update - ISArcEx v0.5
 
8 Attachment(s)
ISArcEx - Advanced FreeArc Extraction API for Inno Setup
========================================

Code:

> Overview:
ISArcEx is a high-performance extraction library meticulously crafted
for Inno Setup. It provides a robust interface for handling FreeArc
archives, offering advanced progress tracking and precise extraction
metrics that standard tools often lack.

> Specifications:
- Version        : v0.5
- Author        : BLACKFIRE69
- Build                : 6997A400
- Compatibility        : Inno Setup v6.0 or later (Required)
- License      : Proprietary (See LICENSE file for details)
- Tested Engine        : FreeArc v0.67

Code:

> Key Features:
- Archive Support: Specialized in Normal FreeArc
  archives. Note: Splitted archives are not supported.
- Selective Extraction: Use ISArcExAddDisksEx to extract specific
  folders from within an archive.
- Advanced Progress Tracking: Real-time metrics for Overall Progress,
  Current Disk Progress, and Extracted/Total File Counts.
- Performance Metrics: Accurate Current and Average Speed (MB/s).
- Time Management: Intelligent "Time Remaining" and "Elapsed Time"
  tracking with three customizable display formats.
- Process Control: Built-in functions to Suspend, Resume, or Stop
  the extraction process safely.
- UI Stability: Includes "Calc Accuracy" reduction logic to prevent
  erratic jumping in speed and ETA displays.
- Localization: Easily switch between languages using external .ini
  configuration files.

Code:

> Supported External Tooling:
ISArcEx integrates seamlessly with common FreeArc external-processors:
- SREP, XTool, LOLZ, NZ, RZ.
- Support for Facompress (MT and Standard).

> Distribution Files:
- ISArcEx.dll        — Core API Library.
- UnArc_32.dll        — FreeArc engine integration.
- ISArcEx.iss        — Header for Inno Setup.
- arc.ini / CLS.ini — Configuration for external-processors.
- English.ini / Russian.ini — Language configuration files.

.

Dragonis40 13-04-2026 02:05

Good morning, i have some issue concerning the new version of IsArcEx.dll. I've made some tests, but anytime i have the "unknown compression method" popup.
Attached a link containing a .bin file and .iss file modified in order to try to decompress .bin file. Bin file has been compressed using DiskSpan and bcm mask.
Where's the problem? Thanks in advance.

https://we.tl/t-xz30r9XdHkCKe2A3

audiofeel 13-04-2026 07:03

In general, the situation is as follows
 
@BLACKFIRE69
In general, the situation is as follows:

In the new version of IsArcEx, the parameter ISArcExReduceCalcAccuracy does not affect anything at all—at least not the FMX ProgressBar. You can set any values for it, and the progress bar simply ignores them.
The only parameter that visually affects the progress bar and its smoothness is ISArcExCallbackInterval, but the effect only becomes noticeable starting from a value of 55.

In general, the older version was better. There, it was enough to set:
Code:

ISArcExCallbackInterval(5);
ISArcExReduceCalcAccuracy(1);

and everything worked very smoothly.

I hope you can investigate this quickly.

Dragonis40 13-04-2026 12:58

Quote:

Originally Posted by audiofeel (Post 509836)
@BLACKFIRE69
In general, the situation is as follows:

In the new version of IsArcEx, the parameter ISArcExReduceCalcAccuracy does not affect anything at all—at least not the FMX ProgressBar. You can set any values for it, and the progress bar simply ignores them.
The only parameter that visually affects the progress bar and its smoothness is ISArcExCallbackInterval, but the effect only becomes noticeable starting from a value of 55.

In general, the older version was better. There, it was enough to set:
Code:

ISArcExCallbackInterval(5);
ISArcExReduceCalcAccuracy(1);

and everything worked very smoothly.

I hope you can investigate this quickly.

I've added "ISArcExCallbackInterval(5);" instruction for the new version of IsArcEx.dll, but nothing changed.

Dragonis40 15-04-2026 04:11

Any solution? IsArcEx.dll v0.5 doesn't work on .bin files create by DiskSpan.

Dragonis40 17-04-2026 11:18

https://fileforums.com/attachment.ph...1&d=1737828016

Good evening. In the third version of the attached image (the one with two blu bars), current time of playing song is always zero. I also think that a mute button would be very confortable. Is it easy to fix?

BLACKFIRE69 19-04-2026 15:35

ISArcEx v0.5 — Update
 
1 Attachment(s)
ISArcEx v0.5 — Update 02 (LibOnly)

* Bug fixes only. No API changes.

Code:

- Fixed: `ISArcExReduceCalcAccuracy` did not perform as expected in v0.5
  due to an internal architectural change introduced in this version.
  This has been corrected and the function now behaves as intended again.

 - Fixed: `ISArcExCallbackInterval` silently ignored some values,
  causing progress updates to appear sluggish or unresponsive regardless
  of the configured interval. The valid input range has been restored.

 - Fixed: State inconsistency where accuracy reduction settings could
  behave unpredictably across multiple init calls in the same session.

* Notes:

Code:

- Drop-in library replacement. No script-side changes required.

Dragonis40 20-04-2026 09:02

Hello, unfortunally IsArcEx.dll Update 2 is still not working with .bin files created with DiskSpan :(


All times are GMT -7. The time now is 12:18.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com