Quote:
Originally Posted by Masquerade
Is there any way I can use ExtractTemporaryFile with the * wildcard?
Currently I have this:
Code:
[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy
However, how can I extract all of the files included above to {tmp} without manually specifiying everything (since I'm trying to desing the code so that anything in the Include folder will be extracted to {tmp})?
|
For not so old versions of Inno Setup you can use:
Code:
[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy
[ code]
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFiles('{tmp}\*.*');
Result := True;
end;
If you use @
files: in the path of any of the DLL functions they will be extracted automatically before the InitializeSetup function.
So I recommend you change to {tmp} in the DLL functions, or specify a destination other than {tmp} for them using the dontcopy flag.
Code:
function ISArcExtract(CurComponent: Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@files:ISDone.dll stdcall delayload';
change to:
function ISArcExtract(CurComponent: Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@{tmp}\ISDone.dll stdcall delayload';