optimize various script loop operations

This commit is contained in:
Homes32
2022-07-01 21:53:54 -05:00
parent a2ec9bb9cc
commit 42b882d352
6 changed files with 84 additions and 171 deletions

View File

@@ -33,10 +33,10 @@ Title=UltraISO
Description=UltraISO is an tool for creating/editing/converting ISO image files and bootable CD/DVD images. Description=UltraISO is an tool for creating/editing/converting ISO image files and bootable CD/DVD images.
Author=Homes32 Author=Homes32
Level=5 Level=5
Selected=False Selected=True
Mandatory=False Mandatory=False
Version=1.0.0.0 Version=1.0.1.0
Date=2021-03-05 Date=2022-06-27
Interface=Interface Interface=Interface
[Variables] [Variables]
@@ -83,8 +83,10 @@ RegWrite,HKLM,0x1,"Tmp_Software\Classes\UltraISO\shell\open","","Open with &Ultr
RegWrite,HKLM,0x1,"Tmp_Software\Classes\UltraISO\shell\open\command","","#$q%PEPrograms%\%ProgramFolder%\%ProgramExe%#$q #$q#$p1#$q" RegWrite,HKLM,0x1,"Tmp_Software\Classes\UltraISO\shell\open\command","","#$q%PEPrograms%\%ProgramFolder%\%ProgramExe%#$q #$q#$p1#$q"
StrFormat,REPLACE,%txt_RegisterFileExt%,#$s,"",%txt_RegisterFileExt% StrFormat,REPLACE,%txt_RegisterFileExt%,#$s,"",%txt_RegisterFileExt%
List,Count,%txt_RegisterFileExt%,%ExtCount%,Delim=#$c ForEach,%Ext%,%txt_RegisterFileExt%,Delim=#$c,Begin
Loop,%ScriptFile%,RegisterFileExtensions_Loop,1,%ExtCount% StrFormat,CTRIM,%Ext%,".",%FileExt%
RegWrite,HKLM,0x1,"Tmp_Software\Classes\.%FileExt%","","UltraISO"
End
// License // License
If,%cmb_SoftwareLicense%,Equal,"Use Host License",Begin If,%cmb_SoftwareLicense%,Equal,"Use Host License",Begin
@@ -173,24 +175,6 @@ RegWrite,HKLM,0x1,"Tmp_Software\Classes\binimage\shell\Convert to ISO\command","
RegWrite,HKLM,0x1,"Tmp_Software\Classes\binimage\shell\open\command","","#$q%PEPrograms%\%ProgramFolder%\%ProgramExe%#$q #$q#$p1#$q" RegWrite,HKLM,0x1,"Tmp_Software\Classes\binimage\shell\open\command","","#$q%PEPrograms%\%ProgramFolder%\%ProgramExe%#$q #$q#$p1#$q"
RegWrite,HKLM,0x1,"Tmp_Software\Classes\binimage\shellex\ContextMenuHandlers\ISOShell","","{AD392E40-428C-459F-961E-9B147782D099}" RegWrite,HKLM,0x1,"Tmp_Software\Classes\binimage\shellex\ContextMenuHandlers\ISOShell","","{AD392E40-428C-459F-961E-9B147782D099}"
[#RegisterFileExtensions_Loop#]
// ===============================================================================================================================
// Name...........: RegisterFileExtensions_Loop
// Description....: Register each file extension in %txt_RegisterFileExt%.
// Syntax.........: Loop,%ScriptFile%,RegisterFileExtensions_Loop,1,%ExtCount%
// Parameters.....:
// Return values..:
// Author.........: Homes32
// Remarks........: Internal Function
// Related........: %txt_RegisterFileExt%
// ===============================================================================================================================
[RegisterFileExtensions_Loop]
List,Get,%txt_RegisterFileExt%,#c,%Ext%,Delim=#$c
// Remove . from the file extension if present.
StrFormat,CTRIM,%Ext%,".",%FileExt%
RegWrite,HKLM,0x1,"Tmp_Software\Classes\.%FileExt%","","UltraISO"
[#ExtractProgram#] [#ExtractProgram#]
// =============================================================================================================================== // ===============================================================================================================================
// Name...........: ExtractProgram // Name...........: ExtractProgram

View File

@@ -85,10 +85,9 @@ End
// ShellExt // ShellExt
If,%cb_RegisterShellExt%,Equal,True,Run,%ScriptFile%,RegisterShellExtension If,%cb_RegisterShellExt%,Equal,True,Run,%ScriptFile%,RegisterShellExtension
// FileExt // Register FileExt
StrFormat,REPLACE,%txt_RegisterFileExt%,#$s,"",%txt_RegisterFileExt% StrFormat,REPLACE,%txt_RegisterFileExt%,#$s,"",%txt_RegisterFileExt%
List,Count,%txt_RegisterFileExt%,%ExtCount%,Delim=#$c ForEach,%Ext%,%txt_RegisterFileExt%,Associate,"%Ext%","%PEPrograms%\%ProgramFolder%\%ProgramExe%"
Loop,%ScriptFile%,RegisterFileExtensions_Loop,1,%ExtCount%
Echo,"Configuring %ScriptTitle%..." Echo,"Configuring %ScriptTitle%..."
@@ -203,21 +202,6 @@ If,%cb_StartMenuShc%,Equal,True,AddShortcut,StartMenu,%txt_StartMenuFolder%,%txt
If,%cb_PinToTaskbar%,Equal,True,PinShortcut,Taskbar,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%" If,%cb_PinToTaskbar%,Equal,True,PinShortcut,Taskbar,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%"
If,%cb_PinToStartMenu%,Equal,True,PinShortcut,StartMenu,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%" If,%cb_PinToStartMenu%,Equal,True,PinShortcut,StartMenu,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%"
[#RegisterFileExtensions_Loop#]
// ===============================================================================================================================
// Name...........: RegisterFileExtensions_Loop
// Description....: Register each file extension in %txt_RegisterFileExt%.
// Syntax.........: Loop,%ScriptFile%,RegisterFileExtensions_Loop,1,%ExtCount%
// Parameters.....:
// Return values..:
// Author.........: Homes32
// Remarks........: Internal Function
// Related........: %txt_RegisterFileExt%
// ===============================================================================================================================
[RegisterFileExtensions_Loop]
List,Get,%txt_RegisterFileExt%,#c,%Ext%,Delim=#$c
Associate,"%Ext%","%PEPrograms%\%ProgramFolder%\%ProgramExe%"
[#RegisterShellExtension#] [#RegisterShellExtension#]
// =============================================================================================================================== // ===============================================================================================================================
// Name...........: RegisterShellExtension // Name...........: RegisterShellExtension

View File

@@ -35,8 +35,8 @@ Author=Homes32
Level=5 Level=5
Selected=False Selected=False
Mandatory=False Mandatory=False
Version=1.1.0.0 Version=1.1.1.0
Date=2022-02-22 Date=2022-06-27
[Variables] [Variables]
%ProgramFolder%="Notepad3" %ProgramFolder%="Notepad3"
@@ -78,8 +78,7 @@ End
// FileExt // FileExt
StrFormat,REPLACE,%txt_RegisterFileExt%,#$s,"",%txt_RegisterFileExt% StrFormat,REPLACE,%txt_RegisterFileExt%,#$s,"",%txt_RegisterFileExt%
List,Count,%txt_RegisterFileExt%,%ExtCount%,Delim=#$c ForEach,%Ext%,%txt_RegisterFileExt%,Delim=#$c,Associate,"%Ext%","%PEPrograms%\%ProgramFolder%\%ProgramExe%"
Loop,%ScriptFile%,RegisterFileExtensions_Loop,1,%ExtCount%
// Additional Files - Keep this after any config changes so if the users wants to provide their own config we don't overwrite it. // Additional Files - Keep this after any config changes so if the users wants to provide their own config we don't overwrite it.
If,Not,%fb_IncludeDir%,Equal,"",If,ExistDir,%fb_IncludeDir%,Begin If,Not,%fb_IncludeDir%,Equal,"",If,ExistDir,%fb_IncludeDir%,Begin
@@ -96,21 +95,6 @@ If,%cb_StartMenuShc%,Equal,True,AddShortcut,StartMenu,%txt_StartMenuFolder%,%txt
If,%cb_PinToTaskbar%,Equal,True,PinShortcut,Taskbar,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%" If,%cb_PinToTaskbar%,Equal,True,PinShortcut,Taskbar,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%"
If,%cb_PinToStartMenu%,Equal,True,PinShortcut,StartMenu,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%" If,%cb_PinToStartMenu%,Equal,True,PinShortcut,StartMenu,Auto,"%PEPrograms%\%ProgramFolder%\%ProgramExe%"
[#RegisterFileExtensions_Loop#]
// ===============================================================================================================================
// Name...........: RegisterFileExtensions_Loop
// Description....: Register each file extension in %txt_RegisterFileExt%.
// Syntax.........: Loop,%ScriptFile%,RegisterFileExtensions_Loop,1,%ExtCount%
// Parameters.....:
// Return values..:
// Author.........: Homes32
// Remarks........: Internal Function
// Related........: %txt_RegisterFileExt%
// ===============================================================================================================================
[RegisterFileExtensions_Loop]
List,Get,%txt_RegisterFileExt%,#c,%Ext%,Delim=#$c
Associate,"%Ext%","%PEPrograms%\%ProgramFolder%\%ProgramExe%"
[#ExtractProgram#] [#ExtractProgram#]
// =============================================================================================================================== // ===============================================================================================================================
// Name...........: ExtractProgram // Name...........: ExtractProgram

View File

@@ -104,39 +104,40 @@ FileCopyEx,"%TargetDir%\Windows\Boot\EFI\memtest.efi","%OutputDir%\efi\microsoft
FileCopy,"%TargetDir%\Windows\Boot\Fonts\*.*","%OutputDir%\efi\microsoft\boot\Fonts\" FileCopy,"%TargetDir%\Windows\Boot\Fonts\*.*","%OutputDir%\efi\microsoft\boot\Fonts\"
// Press Any Key... // Press Any Key...
List,Count,%SourceFallbackLang%,%LangCount%
If,%cb_BootFix%,Equal,True,Begin If,%cb_BootFix%,Equal,True,Begin
FileDeleteEx,"%OutputDir%\efi\microsoft\boot\efisys_noprompt.bin" FileDeleteEx,"%OutputDir%\efi\microsoft\boot\efisys_noprompt.bin"
Loop,%ScriptFile%,CopyBootfix_Loop,1,%LangCount%,"%TargetDir%\Windows\Boot\DVD\PCAT\bootfix.bin",%SourceFallbackLang%,"%OutputDir%\boot" ForEach,%Language%,%SourceFallbackLang%,Run,%ScriptFile%,CopyBootfix,"%TargetDir%\Windows\Boot\DVD\PCAT\bootfix.bin",%Language%,"%OutputDir%\boot"
Loop,%ScriptFile%,CopyBootfix_Loop,1,%LangCount%,"%TargetDir%\Windows\Boot\DVD\EFI\efisys.bin",%SourceFallbackLang%,"%OutputDir%\efi\microsoft\boot" ForEach,%Language%,%SourceFallbackLang%,Run,%ScriptFile%,CopyBootfix,"%TargetDir%\Windows\Boot\DVD\EFI\efisys.bin",%Language%,"%OutputDir%\efi\microsoft\boot"
End End
Else,Begin Else,Begin
FileDeleteEx,"%OutputDir%\boot\bootfix.bin" FileDeleteEx,"%OutputDir%\boot\bootfix.bin"
FileDeleteEx,"%OutputDir%\efi\microsoft\boot\efisys.bin" FileDeleteEx,"%OutputDir%\efi\microsoft\boot\efisys.bin"
Loop,%ScriptFile%,CopyBootfix_Loop,1,%LangCount%,"%TargetDir%\Windows\Boot\DVD\EFI\efisys_noprompt.bin",%SourceFallbackLang%,"%OutputDir%\efi\microsoft\boot" ForEach,%Language%,%SourceFallbackLang%,Run,%ScriptFile%,CopyBootfix,"%TargetDir%\Windows\Boot\DVD\EFI\efisys_noprompt.bin",%Language%,"%OutputDir%\efi\microsoft\boot"
FileRename,"%OutputDir%\efi\microsoft\boot\efisys_noprompt.bin","%OutputDir%\efi\microsoft\boot\efisys.bin" FileRename,"%OutputDir%\efi\microsoft\boot\efisys_noprompt.bin","%OutputDir%\efi\microsoft\boot\efisys.bin"
End End
[#CopyBootfix_Loop#] [#CopyBootfix#]
// =============================================================================================================================== // ===============================================================================================================================
// Name...........: CopyBootfix_Loop // Name...........: CopyBootfix
// Description....: Copy language specific bootfix files. // Description....: Copy language specific bootfix files.
// Syntax.........: Loop,%ScriptFile%,CopyBootfix_Loop,1,<LangCount>,<binFile>,<SourceFallbackLang>,<Dest> // Syntax.........: Run,%ScriptFile%,CopyBootfix,<binFile>,<Language>,<Dest>
// Parameters.....: <LangCount> - Number of languages in the <SourceFallbackLang> list // Parameters.....: #1 <binFile> - The *.bin file to process. (bootfix.bin/efisys_noprompt.bin/etc.)
// #1 <binFile> - The *.bin file to process. (bootfix.bin/efisys_noprompt.bin/etc.) // #2 <Language> - Language to include.
// #2 <SourceFallbackLang> - A pipe delimited list of languages to include. // #3 <Dest> - Full path to the directory where the files will be copied.
// #3 <Dest> - Full path to the directory where the files will be copied.
// Return values..: // Return values..:
// Author.........: Homes32 // Author.........: Homes32
// Remarks........: // Remarks........:
// Related........: [ProcessBootloader] // Related........: [ProcessBootloader]
// =============================================================================================================================== // ===============================================================================================================================
[CopyBootfix_Loop] [CopyBootfix]
System,SetLocal System,SetLocal
List,Get,#2,#c,%Language% GetParam,1,%binFile%
StrFormat,FileName,#1,%FileName% GetParam,2,%Language%
StrFormat,DirPath,#1,%SrcDirPath% GetParam,3,%Dest%
If,ExistFile,"%SrcDirPath%%Language%\%FileName%",FileCopy,"%SrcDirPath%%Language%\%FileName%","#3\%FileName%"
StrFormat,FileName,%binFile%,%FileName%
StrFormat,DirPath,%binFile%,%SrcDirPath%
If,ExistFile,"%SrcDirPath%%Language%\%FileName%",FileCopy,"%SrcDirPath%%Language%\%FileName%","%Dest%\%FileName%"
System,EndLocal System,EndLocal
[#ConfigBcd#] [#ConfigBcd#]

View File

@@ -35,8 +35,8 @@ Author=Homes32
Level=7 Level=7
Selected=False Selected=False
Mandatory=False Mandatory=False
Version=1.0.2.0 Version=1.0.3.0
Date=2022-05-21 Date=2022-07-01
[Process] [Process]
Echo,"I'm tweaking out!" Echo,"I'm tweaking out!"
@@ -197,7 +197,7 @@ Run,%ScriptFile%,ExecScript,%fb_Script_File02%
// Parameters.....: #1 - Script File // Parameters.....: #1 - Script File
// Return values..: // Return values..:
// Author.........: Homes32 // Author.........: Homes32
// Remarks........: Project Hives will be loaded automatically. // Remarks........:
// Related........: // Related........:
// =============================================================================================================================== // ===============================================================================================================================
[ExecScript] [ExecScript]
@@ -261,7 +261,7 @@ Message,"There are no advanced options available for this script."
// Related........: btn_ScriptInfo // Related........: btn_ScriptInfo
// =============================================================================================================================== // ===============================================================================================================================
[ShowScriptInfo] [ShowScriptInfo]
Message,"This script allows developers and testers to run arbitrary commands, scripts, and merge registry configuration. It is most often used for testing, but can also be used by users that just want to change a few registry settings without creating a complex script." Message,"This script allows developers and testers to run arbitrary commands, scripts, and merge registry configuration.#$x#$xIt is most often used for testing, but can also be used by users that just want to change a few registry/ini/config settings or copy a couple of files without creating a complex script."
[#Interface#] [#Interface#]
// =============================================================================================================================== // ===============================================================================================================================
@@ -280,7 +280,7 @@ btn_SetDefaultOptions=,1,8,543,5,25,25,SetDefaultOptions,SetDefaults_16.png,True
btn_AdvancedOptions=,1,8,574,5,25,25,ToggleAdvancedOptions,Advanced_16.png,True,"__Show Advanced Options" btn_AdvancedOptions=,1,8,574,5,25,25,ToggleAdvancedOptions,Advanced_16.png,True,"__Show Advanced Options"
btn_ScriptInfo=,1,8,605,5,25,25,ShowScriptInfo,Help_16.png,True,"__Script Info" btn_ScriptInfo=,1,8,605,5,25,25,ShowScriptInfo,Help_16.png,True,"__Script Info"
bvl_ReqFiles=" Codebox",1,12,5,50,625,295,8,Bold bvl_ReqFiles=" Codebox",1,12,5,50,625,295,8,Bold
cb_Codebox=,1,3,15,40,85,18,True cb_Codebox=,1,3,15,40,85,18,False
rtf_Codebox=Codebox.txt,1,6,15,99,602,236 rtf_Codebox=Codebox.txt,1,6,15,99,602,236
btn_ExecCodebox=Execute,1,8,15,66,80,25,ExecCodebox,play-16.ico,False btn_ExecCodebox=Execute,1,8,15,66,80,25,ExecCodebox,play-16.ico,False
btn_EditCodebox="Edit Codebox",1,8,104,66,100,25,EditCodebox,Log.ico,False btn_EditCodebox="Edit Codebox",1,8,104,66,100,25,EditCodebox,Log.ico,False
@@ -307,7 +307,7 @@ play-16.ico=1150,388
Help_16.png=2830,3868 Help_16.png=2830,3868
Advanced_16.png=2000,2768 Advanced_16.png=2000,2768
SetDefaults_16.png=2475,3404 SetDefaults_16.png=2475,3404
Codebox.txt=1977,1176 Codebox.txt=1677,996
Log.ico=1150,832 Log.ico=1150,832
[EncodedFile-InterfaceEncoded-play-16.ico] [EncodedFile-InterfaceEncoded-play-16.ico]
@@ -328,16 +328,16 @@ lines=0
[EncodedFile-InterfaceEncoded-Codebox.txt] [EncodedFile-InterfaceEncoded-Codebox.txt]
lines=0 lines=0
0=/Td6WFoAAATm1rRGBMDoBbkPIQEWAAAAAAAAAEiSoergB7gC4F0AF+B8VaAhJe6YkrjRkYZb8T1/jGcv9MfPcw0zfm82ZL78S5u6dTR1LOJ1it7gA3LftHkGZDYpldVjxSTKI2HnXJ5lmgyUSlMSfXAtkq/hGCx+WbmsBomF8d/TSTgws3iwARhhgTuDxW3k4+eFm/R6+r9Uby3C1x+AMnNhPdzK3+53hMkkJNlDn7omv8gvaycOZs1ESFjESrJZeQS1+BVEg/JiNelo/iCIwnyWMaoIAw+RR8jYkvMiltny8f5ttDyGmelGo2OMDG5+5ol+BAhH7G+9JwxukYE6xEsB04ygAsCupqTyC1+zRsxG8t5RYB5AA0QskkuDoPOovFWHNeOlxvUQSyz59BIuSPbE+8FI3NqMM8TTg3OiZ7CQ9NDkurod6XHoUgXW3kWlk4nkO8h4qE+B4rRlHZbumP69If7aYeethKQ8w8qQoM70ZED/0eZ47E0zDQoXKIt11IV8RDH1eYZLzjIy2p/5SlA2sYZS1J50J08fDBwEeH2fLOn+Mi2fMVyXzOCO26WFY0sEZkwdHWl1EJuTmrC4zMTK35wb1vy6Qz7cm4aKlMjrzEc1ig5C0xeQuDmHf1BJCPbQd1J45tQmI4IBK1Btf99IxE7U7saTXurKmM2+4+1C4HjfLcZD0EbvbNyCjubfpSbm9nbtvIzAw25SaW3TRwupdBo0RX2+Dw6Z53BJ4WqKeoMScwZBJLiUTlKmP3rRDVb/kCmOB3NFMePQvRwG9GUFsHind8Lt3y1Gggp+cIQEc4WWjUimjZaIgNiOj18RwYWaKnUPs2uCjpMaHHy/GXWSDUkScjbRP65eqdCu9aPp7tV5sswRB9/u5iK0QcDKkA72zbKFaWg4GyuRm1B14LfgWj3rrLHJrXs45qqhxdsrh/Q3ozbn/pBlpK3l1wFS/3rjIElhONWJXi71dx3fuihCKz+RqMRCHvExxXw/eKIaawk1xQzr6NozI4esZhieUZlBEt3cnADAS4z4oHjjkAABhAa5DwAAnjESorHEZ/sCAAAAAARZWnic43bOT0lNyq/QK6koYRgFIw7sZIfQGszY5TntnBqY2ABtHAZavaS5gQEAAAACAAAAJgAAACgDAAAAAAAAAQAAAAAAAAAAAAAA 0=/Td6WFoAAATm1rRGBMDeBI0NIQEWAAAAAAAAAHXwYCvgBowCVl0AF+B8VaAhJe6YkrjRkYZb8T1/jGcv9MfPcw0zfm82ZL78S5u6dTR1LOJ1it7gA3LftHkGZDYpldVjxSTKI2HnXJ5lmgyUSlMSfXAtkq/hGCx+WbmsBomF8d/TSTgws3iwARhhgTuDxVej4JFSxxkxb660DS/xeb/2NoDOs+C7L9aRaripYyJu3hNk2Vos2OSVkRhP99afCE+MifCVMk22n2Y0if2S9VUKNwjc0fFm4DgozpsmNXYv33C6cC8dE/rmUBwlpab9UKFzIFjS4CaVwEBsUwEDmz5QLCbJi2PQ24CUZdA+Day9Sg7h3xHlaC+lo6jhGxoOcTZeZIYcMGqsHHERt5AyL3nzhWL4mNEERdioWb9ArrxWBN4YNAFsw8jU0uGzyTtgd8vctag2giSTwkkBcA8QTI8wh/UCs2/2mK0ITrQqmyqmzzDNq7MP+4VuuMgT11D/mwJq9FEM0JQC4102On/ftDl25hGSGBz7XUJcKRom3cZov+a/qWSKMPY1z/0M8+LMqV7kxrf2xJC74uqG3pLBRPuQ2R8s2KVoiWU/FlVedSnLR3AZ36aRW9DfzR1kXWI/XtcES2x+cItlbdIjFExv5fk19jqd/ky1JlfVFS/AlJIR5+6kbxgDSoNBPKkGM3cV56SMIk1ZBX1l4RH7wsa7K0zP27ksy5io7ZxE/QLfkVHKXOTkQlY3fIR7LfyVZng8KfZZfKdgL1RbDMRjDmtDRFeMVPZmDSecOtITOzpQ0AyxFb8qL569BIEYdYaIe929QntNfW4duUDqwoWRntyYlAAAABbCn6UcuA/RAAH6BI0NAADXtTeVscRn+wIAAAAABFlaeJzjds5PSU3Kr9ArqShhGAUjDvSyQegFTNjlG5r+mjGxAQB6jgfQDa+JpQEAAAACAAAAJwAAAKACAAAAAAAAAQAAAAAAAAAAAAAA
[Templates] [Templates]
Codebox.txt=1977,1176 Codebox.txt=1677,996
[EncodedFolders] [EncodedFolders]
Templates Templates
[EncodedFile-Templates-Codebox.txt] [EncodedFile-Templates-Codebox.txt]
lines=0 lines=0
0=/Td6WFoAAATm1rRGBMDoBbkPIQEWAAAAAAAAAEiSoergB7gC4F0AF+B8VaAhJe6YkrjRkYZb8T1/jGcv9MfPcw0zfm82ZL78S5u6dTR1LOJ1it7gA3LftHkGZDYpldVjxSTKI2HnXJ5lmgyUSlMSfXAtkq/hGCx+WbmsBomF8d/TSTgws3iwARhhgTuDxW3k4+eFm/R6+r9Uby3C1x+AMnNhPdzK3+53hMkkJNlDn7omv8gvaycOZs1ESFjESrJZeQS1+BVEg/JiNelo/iCIwnyWMaoIAw+RR8jYkvMiltny8f5ttDyGmelGo2OMDG5+5ol+BAhH7G+9JwxukYE6xEsB04ygAsCupqTyC1+zRsxG8t5RYB5AA0QskkuDoPOovFWHNeOlxvUQSyz59BIuSPbE+8FI3NqMM8TTg3OiZ7CQ9NDkurod6XHoUgXW3kWlk4nkO8h4qE+B4rRlHZbumP69If7aYeethKQ8w8qQoM70ZED/0eZ47E0zDQoXKIt11IV8RDH1eYZLzjIy2p/5SlA2sYZS1J50J08fDBwEeH2fLOn+Mi2fMVyXzOCO26WFY0sEZkwdHWl1EJuTmrC4zMTK35wb1vy6Qz7cm4aKlMjrzEc1ig5C0xeQuDmHf1BJCPbQd1J45tQmI4IBK1Btf99IxE7U7saTXurKmM2+4+1C4HjfLcZD0EbvbNyCjubfpSbm9nbtvIzAw25SaW3TRwupdBo0RX2+Dw6Z53BJ4WqKeoMScwZBJLiUTlKmP3rRDVb/kCmOB3NFMePQvRwG9GUFsHind8Lt3y1Gggp+cIQEc4WWjUimjZaIgNiOj18RwYWaKnUPs2uCjpMaHHy/GXWSDUkScjbRP65eqdCu9aPp7tV5sswRB9/u5iK0QcDKkA72zbKFaWg4GyuRm1B14LfgWj3rrLHJrXs45qqhxdsrh/Q3ozbn/pBlpK3l1wFS/3rjIElhONWJXi71dx3fuihCKz+RqMRCHvExxXw/eKIaawk1xQzr6NozI4esZhieUZlBEt3cnADAS4z4oHjjkAABhAa5DwAAnjESorHEZ/sCAAAAAARZWnic43bOT0lNyq/QK6koYRgFIw7sZIfQGszY5TntnBqY2ABtHAZavaS5gQEAAAACAAAAJgAAACgDAAAAAAAAAQAAAAAAAAAAAAAA 0=/Td6WFoAAATm1rRGBMDeBI0NIQEWAAAAAAAAAHXwYCvgBowCVl0AF+B8VaAhJe6YkrjRkYZb8T1/jGcv9MfPcw0zfm82ZL78S5u6dTR1LOJ1it7gA3LftHkGZDYpldVjxSTKI2HnXJ5lmgyUSlMSfXAtkq/hGCx+WbmsBomF8d/TSTgws3iwARhhgTuDxVej4JFSxxkxb660DS/xeb/2NoDOs+C7L9aRaripYyJu3hNk2Vos2OSVkRhP99afCE+MifCVMk22n2Y0if2S9VUKNwjc0fFm4DgozpsmNXYv33C6cC8dE/rmUBwlpab9UKFzIFjS4CaVwEBsUwEDmz5QLCbJi2PQ24CUZdA+Day9Sg7h3xHlaC+lo6jhGxoOcTZeZIYcMGqsHHERt5AyL3nzhWL4mNEERdioWb9ArrxWBN4YNAFsw8jU0uGzyTtgd8vctag2giSTwkkBcA8QTI8wh/UCs2/2mK0ITrQqmyqmzzDNq7MP+4VuuMgT11D/mwJq9FEM0JQC4102On/ftDl25hGSGBz7XUJcKRom3cZov+a/qWSKMPY1z/0M8+LMqV7kxrf2xJC74uqG3pLBRPuQ2R8s2KVoiWU/FlVedSnLR3AZ36aRW9DfzR1kXWI/XtcES2x+cItlbdIjFExv5fk19jqd/ky1JlfVFS/AlJIR5+6kbxgDSoNBPKkGM3cV56SMIk1ZBX1l4RH7wsa7K0zP27ksy5io7ZxE/QLfkVHKXOTkQlY3fIR7LfyVZng8KfZZfKdgL1RbDMRjDmtDRFeMVPZmDSecOtITOzpQ0AyxFb8qL569BIEYdYaIe929QntNfW4duUDqwoWRntyYlAAAABbCn6UcuA/RAAH6BI0NAADXtTeVscRn+wIAAAAABFlaeJzjds5PSU3Kr9ArqShhGAUjDvSyQegFTNjlG5r+mjGxAQB6jgfQDa+JpQEAAAACAAAAJwAAAKACAAAAAAAAAQAAAAAAAAAAAAAA
[EncodedFile-InterfaceEncoded-Log.ico] [EncodedFile-InterfaceEncoded-Log.ico]
lines=0 lines=0
0=eJyVk8tu00AUhqc0CARIdMWaDVLfIRuUPAiktE2EhIQAiWUKWSFeh9IFTerEt9wKiNA4wAoJCRHHduzYieNcDmeOL6CmEcLW77FG8/n/z/gMYxt4b20xfN5mhRRjtxhj2yicwplwnl93U2ztVSqVHmez2VeZTOb1v5ROp5+/fHFwOWaPj9+lNE2D5XIJi8Ui0hzm80izGcxIAQRBAKIoQu7+vRsxLwgnxPO1fB1fEwRTmE6n4Ps+TCYTmIzHMPY88DyX+Ae5XMJXqwLxnP3aVuBLS0ZJ0ONqiqBxNWo0uqMR8bs7OwkviSLx3DPkL2AjOY5NfH5vN+EbdZX4KWb1fcw6wayY1+N5XZc8R44Djm2DPRxCrVaDh4XC9YRXQ57X2WtKiVe3UYVuvQpndQHOVK4qDC2L+Pz+3rWYrysK8dyzF+WN2a4asUo4Wqaxlud767qYdeRQnY49xLwWeVqmCaZhgGEM1vK8TsobeX5WTkLJFehEGug68YX8/grPPWM+YVHc0xjoyPZB7/dXeDXibcw7xLyWZVKdZsLpVAvtvx3u/7OnT67+4WXieZ3cL87akco0cs+PH97D6WkbOp1PcHj45rsiS5fO8+c9w7y/oI9qt1vUG0dHb39UyuU7f5+9bz1tM/x/HvV43Oe8d6h/8J/o+D08Zz/rqrJ90fnFPI9kSSxyKShcV1RlGd8lmhOESrHVbKywwgZjB/+rTdQVZG8y9hv23cDJeJxj98lP18tMzmcYBSMS1LFAaA0m7PIXFpueYWADAKEdBblZFdWqAQAAAAIAAAAjAAAAKAIAAAAAAAABAAAAAAAAAAAAAAA 0=eJyVk8tu00AUhqc0CARIdMWaDVLfIRuUPAiktE2EhIQAiWUKWSFeh9IFTerEt9wKiNA4wAoJCRHHduzYieNcDmeOL6CmEcLW77FG8/n/z/gMYxt4b20xfN5mhRRjtxhj2yicwplwnl93U2ztVSqVHmez2VeZTOb1v5ROp5+/fHFwOWaPj9+lNE2D5XIJi8Ui0hzm80izGcxIAQRBAKIoQu7+vRsxLwgnxPO1fB1fEwRTmE6n4Ps+TCYTmIzHMPY88DyX+Ae5XMJXqwLxnP3aVuBLS0ZJ0ONqiqBxNWo0uqMR8bs7OwkviSLx3DPkL2AjOY5NfH5vN+EbdZX4KWb1fcw6wayY1+N5XZc8R44Djm2DPRxCrVaDh4XC9YRXQ57X2WtKiVe3UYVuvQpndQHOVK4qDC2L+Pz+3rWYrysK8dyzF+WN2a4asUo4Wqaxlud767qYdeRQnY49xLwWeVqmCaZhgGEM1vK8TsobeX5WTkLJFehEGug68YX8/grPPWM+YVHc0xjoyPZB7/dXeDXibcw7xLyWZVKdZsLpVAvtvx3u/7OnT67+4WXieZ3cL87akco0cs+PH97D6WkbOp1PcHj45rsiS5fO8+c9w7y/oI9qt1vUG0dHb39UyuU7f5+9bz1tM/x/HvV43Oe8d6h/8J/o+D08Zz/rqrJ90fnFPI9kSSxyKShcV1RlGd8lmhOESrHVbKywwgZjB/+rTdQVZG8y9hv23cDJeJxj98lP18tMzmcYBSMS1LFAaA0m7PIXFpueYWADAKEdBblZFdWqAQAAAAIAAAAjAAAAKAIAAAAAAAABAAAAAAAAAAAAAAA

View File

@@ -35,12 +35,14 @@ Author=Homes32
Level=7 Level=7
Selected=True Selected=True
Mandatory=False Mandatory=False
Version=1.0.2.0 Version=1.1.0.0
Date=2019-10-20 Date=2022-07-01
[Variables] [Variables]
%LangList%=ar-SA|bg-BG|cs-CZ|da-DK|de-DE|el-GR|en-GB|en-US|es-ES|es-MX|et-EE|fi-FI|fr-CA|fr-FR|he-IL|hr-HR|hu-HU|it-IT|ja-JP|ko-KR|lt-LT|lv-LV|nb-NO|nl-NL|pl-PL|pt-BR|pt-PT|qps-ploc|ro-RO|ru-RU|sk-SK|sl-SI|sr-Latn-CS|sr-Latn-RS|sv-SE|th-TH|tr-TR|uk-UA|zh-CN|zh-HK|zh-TW %LangList%=ar-SA|bg-BG|cs-CZ|da-DK|de-DE|el-GR|en-GB|en-US|es-ES|es-MX|et-EE|fi-FI|fr-CA|fr-FR|he-IL|hr-HR|hu-HU|it-IT|ja-JP|ko-KR|lt-LT|lv-LV|nb-NO|nl-NL|pl-PL|pt-BR|pt-PT|qps-ploc|ro-RO|ru-RU|sk-SK|sl-SI|sr-Latn-CS|sr-Latn-RS|sv-SE|th-TH|tr-TR|uk-UA|zh-CN|zh-HK|zh-TW
CleanupMui=Run,%ScriptFile%,CleanupMui
[Process] [Process]
Echo,"Cleaning up [TargetDir]..." Echo,"Cleaning up [TargetDir]..."
FileDeleteEx,"%TargetDir%\Users\Default\Desktop\Desktop.ini" FileDeleteEx,"%TargetDir%\Users\Default\Desktop\Desktop.ini"
@@ -51,28 +53,28 @@ FileDeleteEx,"%TargetDir%\Users\Public\Desktop\Desktop.ini"
// Just to make sure some other script didn't add them.... // Just to make sure some other script didn't add them....
// Causes Explorer hang on boot // Causes Explorer hang on boot
FileDeleteEx,%TargetSystem32%\WallpaperHost.exe FileDeleteEx,"%TargetSystem32%\WallpaperHost.exe"
// Crashes Explorer, Pintool, StartIsBack // Crashes Explorer, Pintool, StartIsBack
FileDeleteEx,%TargetSystem32%\Windows.CloudStore.dll FileDeleteEx,"%TargetSystem32%\Windows.CloudStore.dll"
// Causes Issues with Pintool // Causes Issues with Pintool
FileDeleteEx,%TargetSystem32%\windows.immersiveshell.serviceprovider.dll FileDeleteEx,"%TargetSystem32%\windows.immersiveshell.serviceprovider.dll"
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
// Misc Cleanup // Misc Cleanup
// Disable Diagnostic Telemetry Service // Disable Diagnostic Telemetry Service
// DiagTrack and diagnosticshub.standardcollector.service are disabled Shell Config // DiagTrack and diagnosticshub.standardcollector.service are disabled Shell Config
DirDeleteEx,%TargetWindows%\DiagTrack DirDeleteEx,"%TargetWindows%\DiagTrack"
DirDeleteEx,%TargetSystem32%\DiagSvcs DirDeleteEx,"%TargetSystem32%\DiagSvcs"
FileDeleteEx,%TargetSystem32%\diagER.dll FileDeleteEx,"%TargetSystem32%\diagER.dll"
FileDeleteEx,%TargetSystem32%\diagtrack.dll FileDeleteEx,"%TargetSystem32%\diagtrack.dll"
// WMI Repository will be rebuilt at startup // WMI Repository will be rebuilt at startup
DirDeleteEx,%TargetSystem32%\wbem\AutoRecover DirDeleteEx,"%TargetSystem32%\wbem\AutoRecover"
DirDeleteEx,%TargetSystem32%\wbem\Logs DirDeleteEx,"%TargetSystem32%\wbem\Logs"
DirDeleteEx,%TargetSystem32%\wbem\Repository DirDeleteEx,"%TargetSystem32%\wbem\Repository"
DirDeleteEx,%TargetSystem32%\wbem\tmf DirDeleteEx,"%TargetSystem32%\wbem\tmf"
DirDeleteEx,%TargetSystem32%\wbem\xml DirDeleteEx,"%TargetSystem32%\wbem\xml"
// Edge web platform // Edge web platform
//FileDeleteEx,%TargetSystem32%\edgehtml.dll //FileDeleteEx,%TargetSystem32%\edgehtml.dll
@@ -85,12 +87,12 @@ DirDeleteEx,%TargetSystem32%\wbem\xml
// Unused Language (MUI) Folders // Unused Language (MUI) Folders
If,%cb_CleanupLangFolders%,Equal,True,Begin If,%cb_CleanupLangFolders%,Equal,True,Begin
Run,%ScriptFile%,CleanupMui,%TargetSystem32% CleanupMui,%TargetSystem32%
Run,%ScriptFile%,CleanupMui,%TargetWindows%\Boot\EFI CleanupMui,"%TargetWindows%\Boot\EFI"
Run,%ScriptFile%,CleanupMui,%TargetWindows%\Boot\PCAT CleanupMui,"%TargetWindows%\Boot\PCAT"
Run,%ScriptFile%,CleanupMui,%TargetWindows%\Boot\PXE CleanupMui,"%TargetWindows%\Boot\PXE"
Run,%ScriptFile%,CleanupMui,%TargetWindows%\System32\wbem CleanupMui,"%TargetWindows%\System32\wbem"
If,%SourceArch%,Equal,x64,Run,%ScriptFile%,CleanupMui,%TargetWindows%\SysWOW64 If,%SourceArch%,Equal,x64,CleanupMui,"%TargetWindows%\SysWOW64"
End End
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
@@ -124,28 +126,28 @@ Run,%ScriptFile%,RemovePaint3DAssociations
Echo,"Cleaning up transaction logs..." Echo,"Cleaning up transaction logs..."
// Reg Cache // Reg Cache
FileDeleteEx,%RegistryCache%\*.LOG1 FileDeleteEx,"%RegistryCache%\*.LOG1"
FileDeleteEx,%RegistryCache%\*.LOG2 FileDeleteEx,"%RegistryCache%\*.LOG2"
FileDeleteEx,%RegistryCache%\*.blf FileDeleteEx,"%RegistryCache%\*.blf"
FileDeleteEx,%RegistryCache%\*.regtrans-ms FileDeleteEx,"%RegistryCache%\*.regtrans-ms"
// Target // Target
FileDeleteEx,%TargetSystem32%\config\*.LOG1 FileDeleteEx,"%TargetSystem32%\config\*.LOG1"
FileDeleteEx,%TargetSystem32%\config\*.LOG2 FileDeleteEx,"%TargetSystem32%\config\*.LOG2"
FileDeleteEx,%TargetSystem32%\config\*.blf FileDeleteEx,"%TargetSystem32%\config\*.blf"
FileDeleteEx,%TargetSystem32%\config\*.regtrans-ms FileDeleteEx,"%TargetSystem32%\config\*.regtrans-ms"
// SMI // SMI
FileDeleteEx,%TargetSystem32%\SMI\Store\Machine\*.LOG1 FileDeleteEx,"%TargetSystem32%\SMI\Store\Machine\*.LOG1"
FileDeleteEx,%TargetSystem32%\SMI\Store\Machine\*.LOG2 FileDeleteEx,"%TargetSystem32%\SMI\Store\Machine\*.LOG2"
FileDeleteEx,%TargetSystem32%\SMI\Store\Machine\*.blf FileDeleteEx,"%TargetSystem32%\SMI\Store\Machine\*.blf"
FileDeleteEx,%TargetSystem32%\SMI\Store\Machine\*.regtrans-ms FileDeleteEx,"%TargetSystem32%\SMI\Store\Machine\*.regtrans-ms"
// User // User
FileDeleteEx,%TargetDir%\Users\Default\*.LOG1 FileDeleteEx,"%TargetDir%\Users\Default\*.LOG1"
FileDeleteEx,%TargetDir%\Users\Default\*.LOG2 FileDeleteEx,"%TargetDir%\Users\Default\*.LOG2"
FileDeleteEx,%TargetDir%\Users\Default\*.blf FileDeleteEx,"%TargetDir%\Users\Default\*.blf"
FileDeleteEx,%TargetDir%\Users\Default\*.regtrans-ms FileDeleteEx,"%TargetDir%\Users\Default\*.regtrans-ms"
[#Remove3D#] [#Remove3D#]
// =============================================================================================================================== // ===============================================================================================================================
@@ -191,60 +193,18 @@ RegHiveUnload,Tmp_Software
// Parameters.....: #1 <Path> - Full path to the directory containing the root .mui folders. // Parameters.....: #1 <Path> - Full path to the directory containing the root .mui folders.
// Return values..: // Return values..:
// Author.........: Homes32 // Author.........: Homes32
// Remarks........: // Remarks........: Removal is accomplished by running DirDeleteEx on each folder for each language in the language list
// Related........: CleanupMui_CreateList_Loop, CleanupMui_ExcludeFallback_Loop // excluding languages in the source image's fallback language list.
// Related........:
// =============================================================================================================================== // ===============================================================================================================================
[CleanupMui] [CleanupMui]
FileDeleteEx,%ProjectTemp%\CleanupMui.script
FileCreateBlank,%ProjectTemp%\CleanupMui.script
TXTAddLine,%ProjectTemp%\CleanupMui.script,"[Process]",Append
// Get count of # of supported languages
List,Count,%LangList%,%LangCount%
List,Count,%SourceFallbackLang%,%FBLangCount%
// Loop through each supported language
Loop,%ScriptFile%,CleanupMui_CreateList_Loop,1,%LangCount%,#1
Loop,%ScriptFile%,CleanupMui_ExcludeFallback_Loop,1,%FBLangCount%,#1
Echo,"Cleaning up unused languages in:#$x#$x[#1]..." Echo,"Cleaning up unused languages in:#$x#$x[#1]..."
Run,%ProjectTemp%\CleanupMui.script,Process GetParam,1,%MuiPath%
[#CleanupMui_CreateList_Loop#] ForEach,%Language%,%LangList%,Begin
// =============================================================================================================================== List,Pos,%SourceFallbackLang%,%Language%,%LangPos%
// Name...........: CleanupMui_CreateList_Loop If,%LangPos%,Equal,0,DirDeleteEx,"%MuiPath%\%Language%"
// Description....: Builds a temporary .script containing delete commands for all supported languages. End
// Syntax.........: CleanupMui_ExcludeFallback_Loop,<Path>
// Parameters.....: #1 <Path> - Full path to the directory containing the root .mui folders.
// Return values..:
// Author.........: Homes32
// Remarks........:
// Related........: CleanupMui
// ===============================================================================================================================
[CleanupMui_CreateList_Loop]
System,SetLocal
// get the current supported language we are testing
StrFormat,SPLIT,%LangList%,|,#c,%Language%
TXTAddLine,%ProjectTemp%\CleanupMui.script,"DirDeleteEx,#1\%Language%",Append
System,EndLocal
[#CleanupMui_ExcludeFallback_Loop#]
// ===============================================================================================================================
// Name...........: CleanupMui_ExcludeFallback_Loop
// Description....: Removes Source Language and Fallback Languages delete commands from the temporary
// .script created by CleanupMui_CreateList_Loop
// Syntax.........: CleanupMui_ExcludeFallback_Loop,<Path>
// Parameters.....: #1 <Path> - Full path to the directory containing the root .mui folders.
// Return values..:
// Author.........: Homes32
// Remarks........:
// Related........: CleanupMui
// ===============================================================================================================================
[CleanupMui_ExcludeFallback_Loop]
System,SetLocal
StrFormat,SPLIT,%SourceFallbackLang%,|,#c,%Language%
TXTDelLine,%ProjectTemp%\CleanupMui.script,"DirDeleteEx,#1\%Language%"
System,EndLocal
[#SetDefaultOptions#] [#SetDefaultOptions#]
// =============================================================================================================================== // ===============================================================================================================================