|
#1
|
||||
|
||||
|
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. * 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;
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;
Last edited by BLACKFIRE69; 19-04-2026 at 16:09. |
| 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
|
||||
|
||||
|
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. Code:
- Drop-in library replacement. No script-side changes required. Last edited by BLACKFIRE69; 19-04-2026 at 16:07. |
| 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
|
|||
|
|||
|
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 |
![]() |
|
|
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 |