Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 08-04-2026, 14:42
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Arrow ISRarEx - Advanced RAR Extraction API for Inno Setup

ISRarEx - Advanced RAR Extraction API for Inno Setup
======================================

Code:
> Overview:
ISRarEx is a high-performance extraction library meticulously crafted
for Inno Setup. It provides a robust interface for handling RAR
archives, offering advanced progress tracking, multi-part archive
support, and precise extraction metrics that standard tools often lack.

> Specifications:
- Version	: v0.1
- Author	: BLACKFIRE69
- Build		: 6997A400
- Compatibility	: Inno Setup v6.0 or later (Required)
- License       : Proprietary (See LICENSE file for details)
- Tested Engine	: WinRAR v7.20 (Latest)
Code:
> Key Features:
- Flexible Extraction Modes: Full support for Normal archives, 
  Splitted (multi-volume) archives, and Combined sets.
- 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 File Structures:
ISRarEx supports complex distribution layouts, including nested 
volumes and mixed archive types:

[ROOT]
 ├── data1.rar
 ├── Disks/
 │    ├── Disk1/
 │    │    ├── Sonic 2.part01.rar
 │    │    └── Sonic 2.part02.rar
 │    └── Disk2/
 │         ├── Sonic 2.part03.rar
 │         └── Sonic 2.part04.rar
 ├── data3.rar
 └── Setup.exe

> Distribution Files:
- ISRarEx.dll	— Core API Library.
- UnRAR_32.dll 	— UnRAR engine integration.
- ISRarEx.iss 	— Header for Inno Setup.
- English.ini / Russian.ini — Language configuration files.
- Quick Start Examples -

* Example 1: Normal Archives

Code:
{Code]
#include "ISRarEx.iss"

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    { - ADDING DISKS - }
    repeat
      if not AddArchiveEntry('data1.rar') then Break;
      if not AddArchiveEntry('data2.rar') then Break;
      if not AddArchiveEntry('data3.rar') then Break;
    until true;

    { - INITIALIZE & EXTRACT - }
    if ISRarExInitEx(2, @ProgressCallbackEx) then
    begin
      repeat
        for i := 1 to ISRarExDiskCount do
        begin
          if not ISRarExExtract(i) then Break;
        end;
      until true;

      ISRarExStop;
    end;
  end;
end;
* Example 2: Normal + Splitted Archives

Code:
{Code]
#include "ISRarEx.iss"

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    { - ADDING DISKS - }
    repeat
      if not AddArchiveEntry('data1.rar') then Break;
      if not AddArchiveEntry('Sonic 2.part01.rar') then Break;
      if not AddArchiveEntry('data3.rar') then Break;
    until true;

    { - INITIALIZE & EXTRACT - }
    if ISRarExInitEx(2, @ProgressCallbackEx) then
    begin
      repeat
        for i := 1 to ISRarExDiskCount do
        begin
          if not ISRarExExtract(i) then Break;
        end;
      until true;

      ISRarExStop;
    end;
  end;
end;
.
Attached Images
File Type: png 1.png (19.5 KB, 84 views)
File Type: png 2.png (19.1 KB, 85 views)
File Type: png 3.png (20.9 KB, 85 views)
File Type: png 4.png (24.7 KB, 85 views)
File Type: png 5.png (18.5 KB, 85 views)
Attached Files
File Type: 7z ISRarEx v0.1 + Examples.7z (1.30 MB, 7 views)
File Type: 7z ISRarEx v0.1 - Update 01 (LibOnly).7z (56.2 KB, 2 views)

Last edited by BLACKFIRE69; 19-04-2026 at 16:09.
Reply With Quote
The Following 9 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (08-04-2026), Cesar82 (08-04-2026), Dunnowho69 (08-04-2026), Ele (14-04-2026), Gehrman (05-05-2026), GTX590 (21-04-2026), Razor12911 (09-04-2026), ScOOt3r (09-04-2026), Valtus (27-04-2026)
Sponsored Links
  #2  
Old 19-04-2026, 15:31
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Arrow ISRarEx v0.1 — Update

ISRarEx v0.1 — Update 01 (LibOnly)

* Bug fixes only. No API changes.

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

 - Fixed: `ISRarExCallbackInterval` 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.
Attached Files
File Type: 7z ISRarEx v0.1 - Update 01 (LibOnly).7z (56.2 KB, 2 views)

Last edited by BLACKFIRE69; 19-04-2026 at 16:07.
Reply With Quote
The Following 5 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (19-04-2026), Cesar82 (19-04-2026), Dunnowho69 (20-04-2026), ScOOt3r (19-04-2026), Valtus (27-04-2026)
  #3  
Old 26-04-2026, 10:58
demon964 demon964 is offline
Registered User
 
Join Date: Feb 2014
Location: Azerbaijan
Posts: 38
Thanks: 4
Thanked 7 Times in 5 Posts
demon964 is on a distinguished road
Is it possible to integrate this template into Inno Setup together with your RAR script?

When installing large games, users often may not have enough free disk space. I need a feature that deletes already extracted data/archive parts in real time during extraction, in order to reduce the required free space.

https://github.com/auto-Dog/delete_when_unzip
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
BlackBox v2 y_thelastknight Conversion Tutorials 567 11-03-2025 07:16
Advanced installer or inno setup demon964 Conversion Tutorials 0 12-11-2024 04:28
Useful Dll for Inno Setup users peterf1999 Conversion Tutorials 88 01-12-2017 16:00
Preview: Conversion Tool for Advanced Setup Creator Razor12911 Conversion Tutorials 6 10-05-2017 00:30
Converter Lite for Advanced Setup Creator Razor12911 Conversion Tutorials 3 11-01-2017 09:54



All times are GMT -7. The time now is 16:22.


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