performance optimizations

-eliminate slowdowns cause by disk access (IniRead/IniWrite/TxtReplace)
This commit is contained in:
Homes32
2023-01-18 18:53:38 -06:00
parent 9e367fe54c
commit d66cc369d3
2 changed files with 31 additions and 36 deletions

View File

@@ -35,20 +35,22 @@ Author=Homes32
Level=8
Selected=True
Mandatory=False
Version=1.1.0.1
Date=2022-08-01
Version=1.2.0.0
Date=2023-01-17
[Variables]
%mkISOfs.exe%="%Tools%\x86\mkISOfs.exe"
%oscdimg.exe%="%Tools%\%HostArch%\oscdimg\oscdimg.exe"
// Space delimited list of illegal file name characters
%IllegalChars%="\ / : * ? #$q < > |"
[Process]
Echo,"Preparing to create bootable ISO file..."
// Sanity Check
If,Not,ExistFile,"%OutputDir%\sources\boot.wim",Halt,"ERROR: Boot.wim is missing from [%OutputDir%\Sources]. Please rebuild your project."
// Get ISO File Name txt Macros
IniRead,"%ProjectDir%\script.project","Main","Version",%ProjectVer%
StrFormat,Date,%Date%,"yyyy-mm-dd"
@@ -56,28 +58,22 @@ StrFormat,Date,%Time%,"hhnn"
StrFormat,Date,%TimeStamp%,"YYYYMMDDHHNNSS"
// Set ISO File Name
IniWrite,"%ProjectTemp%\ISO.ini","FileName","FileName",%in_ISOFilename%
// Process Txt Macros
TxtReplace,"%ProjectTemp%\ISO.ini","{ProjectTitle}",%ProjectTitle%
TxtReplace,"%ProjectTemp%\ISO.ini","{ProjectVer}",%ProjectVer%
TxtReplace,"%ProjectTemp%\ISO.ini","{Date}",%Date%
TxtReplace,"%ProjectTemp%\ISO.ini","{Time}",%Time%
TxtReplace,"%ProjectTemp%\ISO.ini","{TimeStamp}",%TimeStamp%
TxtReplace,"%ProjectTemp%\ISO.ini","{SourceArch}",%SourceArch%
TxtReplace,"%ProjectTemp%\ISO.ini","{SourceLang}",%SourceLang%
// Strip illegal chars
TxtReplace,"%ProjectTemp%\ISO.ini","\",""
TxtReplace,"%ProjectTemp%\ISO.ini","/",""
TxtReplace,"%ProjectTemp%\ISO.ini",":",""
TxtReplace,"%ProjectTemp%\ISO.ini","*",""
TxtReplace,"%ProjectTemp%\ISO.ini","?",""
TxtReplace,"%ProjectTemp%\ISO.ini","#$q",""
TxtReplace,"%ProjectTemp%\ISO.ini","<",""
TxtReplace,"%ProjectTemp%\ISO.ini",">",""
TxtReplace,"%ProjectTemp%\ISO.ini","|",""
IniRead,"%ProjectTemp%\ISO.ini","FileName","FileName",%ISOFilename%
Set,%ISOFilename%,%in_ISOFilename%
// Fallback ISO Name
// Strip illegal chars
ForEach,%Char%,%IllegalChars%,Delim=#$s,StrFormat,Replace,%ISOFilename%,%Char%,"",%ISOFilename%
WriteInterface,Value,%ScriptFile%,Interface,in_ISOFilename,%ISOFilename%
// Process Txt Macros
StrFormat,Replace,%ISOFilename%,"{ProjectTitle}",%ProjectTitle%,%ISOFilename%
StrFormat,Replace,%ISOFilename%,"{ProjectVer}",%ProjectVer%,%ISOFilename%
StrFormat,Replace,%ISOFilename%,"{Date}",%Date%,%ISOFilename%
StrFormat,Replace,%ISOFilename%,"{Time}",%Time%,%ISOFilename%
StrFormat,Replace,%ISOFilename%,"{TimeStamp}",%TimeStamp%,%ISOFilename%
StrFormat,Replace,%ISOFilename%,"{SourceArch}",%SourceArch%,%ISOFilename%
StrFormat,Replace,%ISOFilename%,"{SourceLang}",%SourceLang%,%ISOFilename%
// Fallback ISO Name - just in case
If,%ISOFilename%,Equal,"",Set,%ISOFilename%,%ProjectTitle%
Set,%ISOFilename%,"%ISOFilename%.iso"

View File

@@ -35,8 +35,8 @@ Author=Homes32
Level=4
Selected=False
Mandatory=False
Version=1.1.0.1
Date=2022-08-01
Version=1.1.1.0
Date=2023-01-23
[Variables]
@@ -51,16 +51,15 @@ StrFormat,Date,%Date%,"yyyy-mm-dd"
StrFormat,Date,%Time%,"hh:nn"
StrFormat,Date,%TimeStamp%,"YYYYMMDDHHNNSS"
// apply Model field txt macros
IniWrite,"%ProjectTemp%\OEMInfo.ini","Info","Model",%txt_Model%
TxtReplace,"%ProjectTemp%\OEMInfo.ini","{ProjectTitle}",%ProjectTitle%
TxtReplace,"%ProjectTemp%\OEMInfo.ini","{ProjectVer}",%ProjectVer%
TxtReplace,"%ProjectTemp%\OEMInfo.ini","{Username}",%UserName%
TxtReplace,"%ProjectTemp%\OEMInfo.ini","{ComputerName}",%ComputerName%
TxtReplace,"%ProjectTemp%\OEMInfo.ini","{Date}",%Date%
TxtReplace,"%ProjectTemp%\OEMInfo.ini","{Time}",%Time%
TxtReplace,"%ProjectTemp%\ISO.ini","{TimeStamp}",%TimeStamp%
IniRead,"%ProjectTemp%\OEMInfo.ini","Info","Model",%Model%
// Apply Model field txt macros
Set,%Model%,%txt_Model%
StrFormat,Replace,%Model%,"{ProjectTitle}",%ProjectTitle%,%Model%
StrFormat,Replace,%Model%,"{ProjectVer}",%ProjectVer%,%Model%
StrFormat,Replace,%Model%,"{Username}",%UserName%,%Model%
StrFormat,Replace,%Model%,"{ComputerName}",%ComputerName%,%Model%
StrFormat,Replace,%Model%,"{Date}",%Date%,%Model%
StrFormat,Replace,%Model%,"{Time}",%Time%,%Model%
StrFormat,Replace,%Model%,"{TimeStamp}",%TimeStamp%,%Model%
RegLoadHives