View Single Post
  #1  
Old 06-09-2022, 00:03
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,689
Thanks: 1,106
Thanked 7,336 Times in 2,838 Posts
KaktoR is on a distinguished road
Quote:
Originally Posted by L33THAK0R View Post
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?
You have to call function UnpackDLLFiles directly in function InitializeSetup

Quote:
Originally Posted by L33THAK0R View Post
Sorry to fill up this thread with questions, but could anyone please tell me where abouts the logic is for the transition between CompactMode's Main-Window and the CRC-Window?

I use QuickSFV for CRC validation and was hoping to add a 3rd & 4th state to the "WizardForm.NextButton" (or whatever the label is for the CompactMode Install button), to allow it to launch a given Batch script, while displaying "Verify"/"cm:Verify", and then function as a Finish/Continue button after the script concluded.

Currently I've got the latter functionality working just fine, I'm just trying to figure out how to discard the separate CRC window to move it all to the one screen.
If you want to use quicksfv instead of the crc page in compactmode you have to disable the crc page creation and call quicksfv instead.
__________________
Haters gonna hate
Reply With Quote
Sponsored Links