#1501
|
||||
|
||||
Quote:
This function is called 4 times per second and only the current filename is shown in the output. If you use a native installation of Inno Setup (No UnArc/ISDone) it will only remove the installed files. But for you to continue using your script you can create a list using FindFirst and FindNext of all the files that are in the game folder right after the ISDoneInit function. After the ISDoneStop function you do a new check using FindFirst and FindNext and compare the names with the previous list using: if oldfileslist.IndexOf(<fullfilename>) < 0 then ins_log.Append(<fullfilename>); |
Sponsored Links |
#1502
|
|||
|
|||
Quote:
Code:
procedure DeinitializeSetup; begin BASS_Free; ForceCloseApp(ExpandConstant('{tmp}')); end; function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword; var s : AnsiString; FCurrentFile : String; begin if OveralPct<=1000 then ProgressBar.Value(OveralPct); WizardForm.ProgressGauge.Position:=OveralPct; FinishLabl5.Text(ExpandConstant('{cm:TIME_TAKEN} ')+TimeStr2); InsPageLabl4.Text(ExpandConstant('Осталось около: ')+TimeStr1); InsPageLabl5.Text(ExpandConstant('Прошло около: ')+TimeStr2); InsPageLabl6.Text(IntToStr(Round(OveralPct div 10))+'% ИЗВЛЕЧЕНО ФАЙЛОВ'); s := ExpandConstant('{cm:Extracting} ') + CurrentFile; If InsLogBox.LineStrings(InsLogBox.LineCount - 1) <> s Then begin FCurrentFile := MinimizePathName(ExpandConstant('{cm:Extracting} ') +CurrentFile, WizardForm.ReadyMemo.Font, 500 - ScaleX(50)) InsLogBox.AddLine(FCurrentFile); end; Result := ISDoneCancel; end; procedure CurStepChanged(CurStep: TSetupStep); var ResultCode:Integer; begin if CurStep = ssPostInstall then begin ISDoneError:=true; if ISDoneInit(ExpandConstant('{tmp}\records.inf'), 5555, 0,0,0, MainForm.Handle, 512, @ProgressCallback) then begin repeat ChangeLanguage('english'); SetIniString('srep','temp',ExpandConstant('{app}'),ExpandConstant('{tmp}\cls.ini')); Installing:=true; #ifdef Data1 if not ISArcExtract ( 0, {#D1[61]}, ExpandConstant('{src}\{#D1[60]}'), ExpandConstant('{app}'), '', false,('{#Dat1}'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'), false) then break; #ifdef Data2 if not ISArcExtract ( 0, {#D2[61]}, ExpandConstant('{src}\{#D2[60]}'), ExpandConstant('{app}'), '', false,('{#Dat2}'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'), false) then break; #ifdef Data3 if not ISArcExtract ( 0, {#D3[61]}, ExpandConstant('{src}\{#D3[60]}'), ExpandConstant('{app}'), '', false,('{#Dat3}'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'), false) then break; #ifdef Data4 if not ISArcExtract ( 0, {#D4[61]}, ExpandConstant('{src}\{#D4[60]}'), ExpandConstant('{app}'), '', false,('{#Dat4}'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'), false) then break; #ifdef Data5 if not ISArcExtract ( 0, {#D5[61]}, ExpandConstant('{src}\{#D5[60]}'), ExpandConstant('{app}'), '', false,('{#Dat5}'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'), false) then break; #ifdef Data6 if not ISArcExtract ( 0, {#D6[61]}, ExpandConstant('{src}\{#D6[60]}'), ExpandConstant('{app}'), '', false,('{#Dat6}'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'), false) then break; #endif #endif #endif #endif #endif #endif ISDoneError:=false; until true; ISDoneStop; end; end; And perhaps an IsDone can be substituted? UPD/ I have information displayed in FMemo (InsLogBox : FMemo ![]() Code:
s := ExpandConstant('{cm:Extracting} ') + CurrentFile; If InsLogBox.LineStrings(InsLogBox.LineCount - 1) <> s Then begin FCurrentFile := MinimizePathName(ExpandConstant('{cm:Extracting} ') +CurrentFile, WizardForm.ReadyMemo.Font, 500 - ScaleX(50)) InsLogBox.AddLine(FCurrentFile); Last edited by BYRedex; 15-11-2021 at 13:26. |
#1503
|
|||
|
|||
Questions from calculated installed game size info added via INNO setup appsize info: Use raw bytes count on installed all files or use phsycal disk storage count calculated via OS??? (Note: The disk size reservation is related to the sector size. Example: 512byte, 4096byter, 32kB, etc...)
Example: ~160k files, and size in bytes (without uninstaller): 19 034 361 518 byte OS calculated Disk Space size (NTFS, WinXP): 19 340 095 488 byte Size difference its ~300MB! |
#1504
|
||||
|
||||
That's more precisely the cluster size.
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
#1505
|
|||
|
|||
Hello, how do I display the installer at the bottom of the screen? instead of being in the middle?
|
#1506
|
|||
|
|||
[Dying Light] csb file failed CRC check
Unarc.dll error code: -12
Error: file ...\Music_2.csb failed CRC check compression: xtool:mreflate + any other method things tried: disable AV, install MVC++, increase page file, install on different drive ----- using different pre-compressor like xt_lzo (or none at all) solves the issue Last edited by sakhjack; 13-05-2022 at 22:04. Reason: solution |
#1507
|
|||
|
|||
The task killing code (green line, from use Xtool) its works from newer OS than Win XP??
Code:
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); .... ISDoneError:=True; ISDoneCancel:=1; Exec('taskkill.exe', '/f /im XT.exe','', SW_HIDE, ewNoWait, ResultCode); DelTree(ExpandConstant('{app}'), True, True, True); AllCancel2; .... |
#1508
|
||||
|
||||
It does.
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
#1509
|
||||
|
||||
Is it possible to import an external variable, for example the name of the software package that is defined within a ".ini" config file, for use in an Inno Setup message (namely SetupAppTitle, line 31)?
In essence I'm attempting "SetupAppTitle" to read (for example) "{#Game_Name} Setup", but can't quite figure out if this is possible. I'm currently just manually overwriting the value in question but it is a tad tedious. |
![]() |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
INNO TROUBLESHOOT - Tutorials and Answers about INNO Setup | REV0 | Conversion Tutorials | 129 | 21-05-2021 05:51 |
INNO TUTORIAL - Using Unicode and ANSI Versions of INNO Setup | REV0 | Conversion Tutorials | 51 | 26-03-2015 06:57 |
Frequently Asked Questions | Joe Forster/STA | PC Games - Frequently Asked Questions | 0 | 29-11-2005 09:48 |