View Single Post
  #8  
Old 05-09-2022, 18:41
L33THAK0R's Avatar
L33THAK0R L33THAK0R is offline
Registered User
 
Join Date: Feb 2021
Location: Saudi Arabia
Posts: 406
Thanks: 137
Thanked 117 Times in 70 Posts
L33THAK0R is on a distinguished road
Is it possible to call the "UnpackDLLFiles" function early, ideally at the initialisation of the wizard? I recently switched to using a VCLStyle skin instead of CJStyle skin (as CJStyles arent able to modify some GUI elements and aren't quite as versatile), however the DLL size difference between the two is alarmingly large (2.98MB vs 385KB). However, applying some very basic compression, such as the parameters used to pack a given "Setup.dll" significantly reduces the VCLStyle DLL to ~700kb, unfortunately though it seems I'm not able to get the wizard to extract the DLL before loading it, despite having the commands ordered to do so.

Code:
function InitializeSetup(): Boolean;
begin
  Result := True;
  ExtractTemporaryFile('SplitLib.dll');
  ExtractTemporaryFile('Settings.ini');
  #if VCL
    FileCopy(ExpandConstant('{src}\VclStylesInno.dll'), ExpandConstant('{tmp}\VclStylesInno.dll'), False);
    ExtractTemporaryFile('VclStylesInno.dll');
    ExtractTemporaryFile('{#VCLName}');
    LoadVCLStyle(ExpandConstant('{tmp}\{#VCLName}'));
I can't quite decipher the errors I get either as they simply say:

Code:
Runtime error (at 368:722):
Could not call proc.
&

Code:
Runtime error (at 400:5):
Could not call proc.
Am I missing something or is this sort of extracting and loading DLLs a bit too finicky for Inno Setup to handle?

Last edited by L33THAK0R; 05-09-2022 at 18:43.
Reply With Quote