From 0335797a5da2b7f44888e12b99716c9d60302bfb Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Sun, 8 Sep 2024 03:04:33 -0700 Subject: [PATCH] Update WinPE sections --- setup/build_pe.cmd | 12 +- setup/pe/README.md | 2 +- setup/pe/System32/Winpeshl.ini | 6 - setup/pe/System32/menu.cmd | 2 - .../Program Files}/ConEmu/ConEmu.xml | 1530 ++++----- .../Program Files}/NotepadPlusPlus/config.xml | 112 +- .../Program Files/NotepadPlusPlus/npp.cmd | 3 + .../NotepadPlusPlus/stylers.model.xml | 2742 ++++++++--------- .../additions/Windows/System32/Winpeshl.ini | 6 + .../additions/Windows/System32/custom.doskey | 4 + setup/pe/bin/CPU-Z/cpuz.ini | 20 - setup/pe/bin/HWiNFO/HWiNFO.INI | 671 ---- setup/pe/bin/NotepadPlusPlus/npp.cmd | 3 - setup/pe/bin/Q-Dir/Q-Dir.ini | 68 - setup/pe/build_pe.ps1 | 874 ++---- setup/pe/drivers/README.md | 4 + setup/pe/sources.json | 32 + 17 files changed, 2546 insertions(+), 3545 deletions(-) delete mode 100644 setup/pe/System32/Winpeshl.ini delete mode 100644 setup/pe/System32/menu.cmd rename setup/pe/{bin => additions/Program Files}/ConEmu/ConEmu.xml (98%) rename setup/pe/{bin => additions/Program Files}/NotepadPlusPlus/config.xml (98%) create mode 100644 setup/pe/additions/Program Files/NotepadPlusPlus/npp.cmd rename setup/pe/{bin => additions/Program Files}/NotepadPlusPlus/stylers.model.xml (99%) create mode 100644 setup/pe/additions/Windows/System32/Winpeshl.ini create mode 100644 setup/pe/additions/Windows/System32/custom.doskey delete mode 100644 setup/pe/bin/CPU-Z/cpuz.ini delete mode 100644 setup/pe/bin/HWiNFO/HWiNFO.INI delete mode 100644 setup/pe/bin/NotepadPlusPlus/npp.cmd delete mode 100644 setup/pe/bin/Q-Dir/Q-Dir.ini create mode 100644 setup/pe/drivers/README.md create mode 100644 setup/pe/sources.json diff --git a/setup/build_pe.cmd b/setup/build_pe.cmd index 44903d91..e04718f4 100644 --- a/setup/build_pe.cmd +++ b/setup/build_pe.cmd @@ -6,10 +6,6 @@ setlocal EnableDelayedExpansion title WizardKit: Build Tool call :CheckFlags %* -rem TODO: Remove warning -echo "Windows PE build is currently under development" -echo " Proceeding will likely result in errors so be warned" -pause call :CheckElevation || goto Exit call :FindKitsRoot || goto ErrorKitNotFound @@ -19,14 +15,8 @@ set "dandi_set_env=%adk_root%\Deployment Tools\DandISetEnv.bat" if not exist "%dandi_set_env%" (goto ErrorKitNotFound) call "%dandi_set_env%" || goto ErrorUnknown -:EnsureCRLF -rem Rewrite main.py using PowerShell to have CRLF/`r`n lineendings -set "script=%~dp0\.bin\Scripts\borrowed\set-eol.ps1" -set "main=%~dp0\.bin\Scripts\settings\main.py" -powershell -executionpolicy bypass -noprofile -file %script% -lineEnding win -file %main% || goto ErrorUnknown - :Launch -set "script=%~dp0\.bin\Scripts\build_pe.ps1" +set "script=%~dp0\pe\build_pe.ps1" powershell -executionpolicy bypass -noprofile -file %script% || goto ErrorUnknown goto Exit diff --git a/setup/pe/README.md b/setup/pe/README.md index 2b3ab464..2c70d836 100644 --- a/setup/pe/README.md +++ b/setup/pe/README.md @@ -1,3 +1,3 @@ # WizardKit: WinPE # -_Under construction_ +Requires ADK for Windows 10, version 2004 diff --git a/setup/pe/System32/Winpeshl.ini b/setup/pe/System32/Winpeshl.ini deleted file mode 100644 index 9147e972..00000000 --- a/setup/pe/System32/Winpeshl.ini +++ /dev/null @@ -1,6 +0,0 @@ -[LaunchApp] -[LaunchApps] -wpeinit -wpeutil updatebootinfo -cd /d "%SystemDrive%\.bin" -"%SystemDrive%\.bin\ConEmu\ConEmu.exe", /cmd cmd /k cd "%SystemDrive%\.bin" & python "%SystemDrive%\.bin\Scripts\winpe_root_menu.py" diff --git a/setup/pe/System32/menu.cmd b/setup/pe/System32/menu.cmd deleted file mode 100644 index 76edf44a..00000000 --- a/setup/pe/System32/menu.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -python "%SystemDrive%\.bin\Scripts\winpe_root_menu.py" diff --git a/setup/pe/bin/ConEmu/ConEmu.xml b/setup/pe/additions/Program Files/ConEmu/ConEmu.xml similarity index 98% rename from setup/pe/bin/ConEmu/ConEmu.xml rename to setup/pe/additions/Program Files/ConEmu/ConEmu.xml index 43160e68..8a2049b9 100644 --- a/setup/pe/bin/ConEmu/ConEmu.xml +++ b/setup/pe/additions/Program Files/ConEmu/ConEmu.xml @@ -1,765 +1,765 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup/pe/bin/NotepadPlusPlus/config.xml b/setup/pe/additions/Program Files/NotepadPlusPlus/config.xml similarity index 98% rename from setup/pe/bin/NotepadPlusPlus/config.xml rename to setup/pe/additions/Program Files/NotepadPlusPlus/config.xml index 8becc843..999daa1b 100644 --- a/setup/pe/bin/NotepadPlusPlus/config.xml +++ b/setup/pe/additions/Program Files/NotepadPlusPlus/config.xml @@ -1,56 +1,56 @@ - - - - - - standard - hide - - vertical - hide - - no - yes - no - no - yes - yes - no - yes - - - - - yes - yes - 2 - - - - - - hide - - - - - - - - - - yes - - - - - - - - - - - - - - + + + + + + standard + hide + + vertical + hide + + no + yes + no + no + yes + yes + no + yes + + + + + yes + yes + 2 + + + + + + hide + + + + + + + + + + yes + + + + + + + + + + + + + + diff --git a/setup/pe/additions/Program Files/NotepadPlusPlus/npp.cmd b/setup/pe/additions/Program Files/NotepadPlusPlus/npp.cmd new file mode 100644 index 00000000..f3817e41 --- /dev/null +++ b/setup/pe/additions/Program Files/NotepadPlusPlus/npp.cmd @@ -0,0 +1,3 @@ +@echo off + +start "" "%SystemDrive%\Program Files\NotepadPlusPlus\notepad++.exe" %2 %3 %4 %5 %6 %7 %8 %9 \ No newline at end of file diff --git a/setup/pe/bin/NotepadPlusPlus/stylers.model.xml b/setup/pe/additions/Program Files/NotepadPlusPlus/stylers.model.xml similarity index 99% rename from setup/pe/bin/NotepadPlusPlus/stylers.model.xml rename to setup/pe/additions/Program Files/NotepadPlusPlus/stylers.model.xml index a93f074b..17235271 100644 --- a/setup/pe/bin/NotepadPlusPlus/stylers.model.xml +++ b/setup/pe/additions/Program Files/NotepadPlusPlus/stylers.model.xml @@ -1,1371 +1,1371 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup/pe/additions/Windows/System32/Winpeshl.ini b/setup/pe/additions/Windows/System32/Winpeshl.ini new file mode 100644 index 00000000..b983e2c7 --- /dev/null +++ b/setup/pe/additions/Windows/System32/Winpeshl.ini @@ -0,0 +1,6 @@ +[LaunchApp] +[LaunchApps] +wpeinit +wpeutil InitializeNetwork +wpeutil UpdateBootInfo +"%SystemRoot%\System32\cmd.exe" diff --git a/setup/pe/additions/Windows/System32/custom.doskey b/setup/pe/additions/Windows/System32/custom.doskey new file mode 100644 index 00000000..57fc0442 --- /dev/null +++ b/setup/pe/additions/Windows/System32/custom.doskey @@ -0,0 +1,4 @@ +poweroff=wpeutil shutdown +reboot=wpeutil reboot +restart=wpeutil reboot +shutdown=wpeutil shutdown \ No newline at end of file diff --git a/setup/pe/bin/CPU-Z/cpuz.ini b/setup/pe/bin/CPU-Z/cpuz.ini deleted file mode 100644 index 13a2674a..00000000 --- a/setup/pe/bin/CPU-Z/cpuz.ini +++ /dev/null @@ -1,20 +0,0 @@ -[CPU-Z] -VERSION=1.7.7.0 -TextFontName= -TextFontSize=14 -TextFontColor=000080 -LabelFontName= -LabelFontSize=14 -ACPI=1 -PCI=1 -MaxPCIBus=256 -DMI=1 -Sensor=1 -SMBus=1 -Display=1 -UseDisplayAPI=1 -BusClock=1 -Chipset=1 -SPD=1 -XOC=0 -CheckUpdates=0 diff --git a/setup/pe/bin/HWiNFO/HWiNFO.INI b/setup/pe/bin/HWiNFO/HWiNFO.INI deleted file mode 100644 index 24a5d535..00000000 --- a/setup/pe/bin/HWiNFO/HWiNFO.INI +++ /dev/null @@ -1,671 +0,0 @@ -[Benchmark_CPU] -Intel Pentium-100=707 -Intel Pentium-120/Notebook=835 -Intel Pentium-166/QDI=1380 -Cyrix 6x86MX-PR300=1411 -AMD-K6-166/QDI=1482 -Intel Pentium MMX-200=1484 -Cyrix MII-PR333=1518 -Intel Mobile Pentium MMX-233=1642 -Intel Pentium Pro-166 Dual CPU=1679 -AMD-K6-200/DTK=1777 -AMD-K6-200/QDI=1778 -Intel Pentium Pro-200=1944 -AMD-K6-233/DTK=2067 -Intel P2-233/Siemens=2350 -VIA Cyrix III 533/133=2362 -Intel Celeron-266/BXmaster=2586 -Intel P2-266/Siemens=2603 -AMD-K6-2-300/PCChips M577=2655 -Intel Celeron 300=2883 -Intel Celeron-300/PCChips=2922 -AMD-K6-2-350/FIC=3092 -AMD-K6-III-400=3524 -AMD-K6-III-400/FIC VA-503A=3557 -Intel Celeron-366/BXmaster=3718 -Intel P2-400/Siemens=3886 -Intel Celeron-400/BXmaster=3890 -AMD-K6-2-450/FIC=3964 -AMD-K6-III-448/FIC VA-503A=3975 -AMD-K6-III-450=3978 -Intel Mobile P2-400/Scenic=4047 -Intel Celeron-413/BXmaster=4175 -Intel Celeron-433=4219 -Intel P3-450/CC820=4363 -Intel P3-450/Siemens=4372 -Intel Celeron-450=4555 -Intel Celeron-300A@467=4686 -Intel Celeron-466/BXmaster=4789 -Intel P3-500/GA-6BXDS=5021 -Intel Pentium III Xeon-550=5299 -Intel Celeron-525/BXmaster=5314 -Intel P3-550/Siemens=5543 -Intel Celeron-550/BXmaster=5579 -Intel Celeron-575/BXmaster=5845 -Intel Celeron-616/BXmaster=5999 -Intel P3-617/GA-BX2000=6241 -AMD Athlon-600/AMD-750=6303 -AMD Duron-600/KT133=6436 -Intel P3-650/BX=6497 -AMD Athlon-650/KX133=6749 -AMD Duron-650/KT133=6971 -Intel P3-700/BX=7013 -AMD Athlon-700/KX133=7185 -AMD Duron-700/KT133=7507 -Intel Celeron-815/BXmaster=7985 -AMD Athlon-750/KT133=8085 -AMD Athlon-800/AMD-750=8286 -AMD Duron-800/KT133=8580 -Intel P3-650@870/BX=8675 -AMD Duron-850/KT133=9120 -Intel P3-650@917/BX=9175 -AMD Duron-900/KT133=9654 -AMD Duron-928 (9x103)=9952 -Intel Celeron-566@1010=10115 -VIA Antaur-1000=6108 -VIA C3-1333=7601 -AMD Duron-950/KT133=10190 -AMD Athlon-1000/KT133=10734 -AMD Athlon-1200/KT133=12949 -AMD Athlon XP 1500+/KT133=14297 -AMD Athlon XP 2000+/KT133A=17691 -AMD Athlon XP 2200+/KT133A=19490 -AMD Athlon XP-M 2500+/KM400=19590 -AMD Athlon XP-M 3000+/SiS748=23391 -Intel P3-1000/i815=10381 -Intel P4-1600=6636 -Intel P4-1800=7445 -Intel P4-2000=8272 -Intel P4-2500=11051 -Intel Pentium-M ULV-1000=10515 -Intel Pentium-M-1300=13590 -Intel Pentium-M-1600=16856 -Intel Pentium-M 735=16958 -Intel Pentium-M 755=20008 -Intel Pentium-M 770=21163 -Intel P4-2800(noHT)/i875P=12399 -Intel P4-3066(noHT)/i845PE=13479 -Intel P4-3000E(noHT)/i915P=22136 -Intel P4-3000 530 (HT)=34013 -Intel P4-3200E(noHT)/i875P=23446 -Intel P4-3600E(noHT)/i925X=26424 -Intel Xeon-3800(HT)=55028 -AMD Athlon64 3200+=23814 -AMD Athlon64 3800+=28731 -AMD Athlon64 FX-53=28727 -AMD Opteron 248=25920 -AMD Turion64 ML-34+=18520 -AMD Turion64 X2 TL-60=47697 -AMD Athlon 64 X2 4400+=52867 -Intel Core Duo T2600 (1core)=20293 -Intel Core Duo T2600 (2core)=40849 -Intel Core 2 Duo E6700=51765 -Intel Core 2 Duo T7400=53238 -Transmeta Crusoe TM5800-1000=6382 -2xIntel Xeon 5150/5000P=131832 -4xIntel Xeon MP 7040=180052 -Intel Core 2 Extreme QX6700=129908 -AMD Phenom 9500=103687 -Intel Atom 230=15438 -Intel Core i5-520M=94834 -Intel Core i7-860=180329 -Intel Core i7-820QM=123279 -Intel Core i7-980X=347501 -Intel Core i5-2520M=111448 -Intel Core i7-3820=265424 - -[Benchmark_FPU] -Intel Pentium-100=1109 -VIA Cyrix III 533/133=1327 -Intel Pentium 120/Notebook=1350 -Intel Pentium Pro-166 Dual CPU=1663 -Intel Pentium Pro-200=1934 -Cyrix 6x86MX-PR300=2304 -Intel P2-233/Siemens=2323 -AMD-K6-166/QDI=2533 -Cyrix MII-PR333=2585 -Intel Celeron-266/BXmaster=2630 -Intel Mobile Pentium MMX-233=2647 -Intel P2-266/Siemens=2662 -Intel Celeron-300=2862 -AMD-K6-200/DTK=2999 -AMD-K6-200/QDI=3041 -AMD-K6-233/DTK=3492 -Intel Celeron-366/BXmaster=3650 -Intel P2-400/Siemens=3968 -Intel Celeron-400/BXmaster=3972 -Intel Mobile P2-400/Scenic=3973 -Intel Celeron-413/BXmaster=4097 -Intel Celeron-433=4304 -Intel P3-450/CC820=4444 -Intel P3-450/Siemens=4452 -Intel Celeron-450=4472 -Intel Celeron-300A@467=4599 -AMD-K6-2-300/PCChips M577=4605 -Intel Celeron-466/BXmaster=4628 -Intel P3-500/GA-6BXDS=4958 -Intel Celeron-525/BXmaster=5215 -AMD-K6-2-350/FIC=5368 -Intel Pentium III Xeon-550=5417 -Intel P3-550/Siemens=5440 -Intel Celeron-550/BXmaster=5477 -Intel Celeron-575/BXmaster=5738 -Intel Celeron-616/BXmaster=5897 -Intel P3-617/GA-BX2000=6114 -AMD-K6-III-400/FIC VA-503A=6166 -AMD-K6-III-400=6169 -Intel P3-650/BX=6446 -AMD-K6-2-450/FIC=6876 -AMD-K6-III-448/FIC VA-503A=6893 -AMD-K6-III-450=6895 -Intel P3-700/BX=6942 -Intel Celeron-815/BXmaster=7799 -Intel P3-650@870/BX=8614 -Intel P3-650@917/BX=9080 -VIA C3-1333=3160 -AMD Duron-600/KT133=9132 -AMD Athlon-600/AMD-750=9231 -AMD Athlon-650/KX133=9888 -Intel Celeron-566@1010=9977 -AMD Athlon-700/KX133=10527 -AMD Athlon-750/KT133=11457 -AMD Athlon-800/AMD-750=12149 -AMD Duron-850/KT133=12954 -AMD Duron-900/KT133=13712 -AMD Duron-928 (9x103)=14150 -AMD Duron-950/KT133=14479 -AMD Athlon-1000/KT133=15252 -AMD Athlon-1200/KT133=18378 -AMD Athlon XP 1500+/KT133=20757 -AMD Athlon XP 1800+=23375 -AMD Athlon XP 2000+/KT133A=25693 -AMD Athlon XP 2200+/KT133A=28296 -AMD Athlon XP-M 2500+/KM400=28877 -AMD Athlon XP-M 3000+/SiS748=34104 -Intel P3-1000/i815=9813 -Intel P4-1600=3282 -Intel P4-1800=3833 -Intel P4-2000=4256 -Intel P4-2500=6020 -Intel Pentium-M ULV-1000=8547 -Intel Pentium-M-1300=11089 -Intel Pentium-M-1600=13614 -Intel Pentium-M 735=14211 -Intel Pentium-M 755=16772 -Intel Pentium-M 770=17807 -Intel P4-2800(noHT)/i875P=6799 -Intel P4-3066(noHT)/i845PE=7396 -Intel P4-3000 530 (HT)=9220 -Intel P4-3200E(noHT)/i875P=6578 -Intel P4-3600E(noHT)/i925X=8163 -Intel Xeon-3800(HT)=17241 -AMD Athlon64 3200+=31194 -AMD Athlon64 3800+=37379 -AMD Athlon64 FX-53=37426 -AMD Opteron 248=34115 -AMD Turion64 ML-34+=28056 -AMD Turion64 X2 TL-60=62143 -AMD Athlon 64 X2 4400+=68974 -Intel Core Duo T2600 (1core)=16967 -Intel Core Duo T2600 (2core)=34039 -Intel Core 2 Duo E6600=36031 -Intel Core 2 Duo E6700=40075 -Intel Core 2 Duo T7400=32659 -Transmeta Crusoe TM5800-1000=4251 -2xIntel Xeon 5150/5000P=80725 -4xIntel Xeon MP 7040=54379 -Intel Core 2 Extreme QX6700=80338 -AMD Phenom 9500=133430 -Intel Atom 230=10769 -Intel Core i5-520M=60634 -Intel Core i7-860=131820 -Intel Core i7-820QM=90751 -Intel Core i7-980X=215620 -Intel Core i5-2520M=55354 -Intel Core i7-3820=130252 - -[Benchmark_MMX] -AMD-K6-166/QDI=909 -AMD-K6-200/QDI=1070 -Intel P2-266/440LX=1339 -VIA Cyrix III 533/133=1815 -Intel Pentium MMX-200=2041 -Intel Mobile Pentium MMX-233=2363 -Intel P2-233/440BX=2390 -Intel Celeron-300=2931 -Intel Celeron-366=3742 -Intel Celeron-450=4602 -Intel Celeron-300A@467=4737 -Intel P3-500/GA-6BXDS=5009 -AMD Duron-600/KT133=5454 -Intel P3-550/Siemens=5513 -AMD Athlon-650/KX133=5906 -AMD Athlon-700/Abit KA7=6356 -Intel P3-650/BX=6490 -AMD Duron-750/KT133=6823 -AMD Athlon-750/KT133=6846 -Intel P3-700/BX=7025 -AMD Duron-800/KT133=7277 -AMD Duron-850/KT133=7738 -AMD Duron-900/KT133=8192 -AMD Duron-928 (9x103)=8448 -AMD Duron-950/KT133=8645 -Intel P3-650@870/BX=8706 -AMD Athlon-1000/KT133=9110 -Intel P3-650@917/BX=9173 -Intel Celeron-566@1010=10080 -VIA C3-1333=6063 -AMD Athlon-1200/KT133=10998 -AMD Athlon XP 1500+/KT133=12125 -AMD Athlon XP 1800+=13642 -AMD Athlon XP 2000+/KT133A=15013 -AMD Athlon XP 2200+/KT133A=16516 -AMD Athlon XP-M 2500+/KM400=16858 -AMD Athlon XP-M 3000+/SiS748=20040 -Intel P3-1000=9903 -Intel P4-1600=14468 -Intel P4-1800=16319 -Intel P4-2000=18140 -Intel P4-2500=22681 -Intel Pentium-M ULV-1000=9937 -Intel Pentium-M-1300=12865 -Intel Pentium-M-1600=15835 -Intel Pentium-M 735=16839 -Intel Pentium-M 755=19869 -Intel Pentium-M 770=21149 -Intel P4-2800(noHT)/i875P=24478 -Intel P4-3066(noHT)/i845PE=26437 -Intel P4-3000 530 (HT)=27352 -Intel P4-3200E(noHT)/i875P=22592 -Intel P4-3600E(noHT)/i925X=25314 -Intel Xeon-3800(HT)=53268 -AMD Athlon64 3200+=18228 -AMD Athlon64 3800+=21859 -AMD Athlon64 FX-53=21856 -AMD Opteron 248=19926 -AMD Turion64 ML-34+=16403 -AMD Turion64 X2 TL-60=36363 -AMD Athlon 64 X2 4400+=40282 -Intel Core Duo T2600 (1core)=21423 -Intel Core Duo T2600 (2core)=42912 -Intel Core 2 Duo E6600=74154 -Intel Core 2 Duo E6700=82312 -Intel Core 2 Duo T7400=67321 -Transmeta Crusoe TM5800-1000=5272 -2xIntel Xeon 5150/5000P=51186 -4xIntel Xeon MP 7040=83086 -Intel Core 2 Extreme QX6700=165067 -AMD Phenom 9500=80202 -Intel Atom 230=14545 -Intel Core i5-520M=80822 -Intel Core i7-860=171336 -Intel Core i7-820QM=115063 -Intel Core i7-980X=261051 -Intel Core i5-2520M=81444 -Intel Core i7-3820=160178 - -[Benchmark_Memory] -Intel Pentium-100/FPM=69 -Intel Pentium Pro-166 Dual CPU=78 -AMD-K6-166/QDI/EDO=85 -Intel Pentium MMX-200/EDO=92 -AMD-K6-200/QDI/EDO=93 -Intel Pentium MMX-233/PC66=101 -Intel P2-233/440BX/PC66=111 -VIA Cyrix III 533/133=114 -Intel P2-266/440BX/PC66=117 -AMD-K6-III-400=135 -Intel Celeron-366/PC66=163 -AMD Duron-600/KT133=173 -AMD Athlon-700/KX133/PC133=202 -AMD Athlon-650/KX133=205 -Intel P3-500/GA-6BXDS/PC100=209 -Intel P3-550/Siemens/PC100=215 -Intel Celeron-300A@467/PC66=209 -Intel Celeron-300/PC66=146 -Intel P3-650/BX/PC100=238 -Intel P3-700/BX/PC100=211 -AMD Athlon-750/KT133/PC133=214 -AMD Duron-750/KT133=263 -Intel Celeron-566@1010=273 -VIA C3-1333/CN400=223 -AMD Duron-950/KT133=275 -AMD Duron-928 (9x103)/KT133=292 -AMD Duron-1100/SiS745/DDR333=477 -AMD Athlon XP-M 2500+/DDR333=548 -Intel P3-650@917/FSB140=310 -Intel P3-1000/PC133=218 -Intel P4-1600/i850=1115 -Intel P4-2000/i850/PC800=1245 -Intel P4-1800/i845G/DDR266=867 -Intel P4-2500/i845/DDR266=757 -Intel Pentium-M-1600/DDR266=830 -Intel Pentium-M 735/855PM/DDR400=971 -Intel P4-3066/i845PE/DDR266=1028 -Intel P4-2800/i875P/2Ch/DDR400=2056 -Intel P4-3200E/i875P/2Ch/DDR400=2342 -Intel P4-3600E/i915P/DDR2-533=2556 -Intel P4-3600E/i925X/DDR2-533=2844 -Intel Xeon-3800/E7525/DDR2-400=1635 -AMD Athlon64 3200+/1Ch/DDR400=1266 -AMD Athlon64 3800+/2Ch/DDR400=2375 -AMD Athlon64 FX-53/2Ch/DDR400=2166 -AMD Opteron 248/DDR266=947 -AMD Turion64 ML-34+=1071 -Intel Core 2 Duo E6700/DDR2-800=2894 -Transmeta Crusoe TM5800-1000=337 -2xIntel Xeon 5150/5000P/DDR2-667F=2919 -4xIntel Xeon MP 7040=1721 -AMD Phenom 9500=1795 -Intel Atom 230/945/DDR2-800=1682 -Intel Core i5-520M=5235 -Intel Core i7-860/DDR3-667/2CH=6506 -Intel Core i7-820QM=5424 -Intel Core i7-980X=9343 -Intel Core i7-3820/DDR3-1600/4CH=13366 - -[Benchmark_Disk_ReadBurst] -Fujitsu MPB3043ATU E/PIO=4.03 -Seagate ST38410A/PIO=4.33 -Maxtor 91021U2/PIO=4.61 -Maxtor 92041U4/PIO=4.82 -Quantum Fireball_TM2110S300X=6.83 -SEAGATE ST51080N=7.92 -Seagate ST31277A=8,37 -IBM DCAS-32160 S65A=8.65 -QUANTUM FIREBALL ST3.2A/PIO=14.74 -Seagate ST39102LW Cheetah=30.05 -IBM DJNA-370910/UDMA66=15.27 -Seagate ST34321A/UDMA33=21.03 -Seagate ST38421A=23.82 -Seagate ST34310A=23.88 -QUANTUM FIREBALL SE2.1A=26.43 -Maxtor 91021U2/UDMA33=29.13 -Maxtor 54098U8/UDMA33=29.5 -IBM DTTA-350430=29.7 -IBM-DPTA-371360=29.86 -Seagate ST320420A=47.3 -IBM-DJNA-371350=27.87 -IBM-DTLA-307030/ATA100=82.22 -SEAGATE Cheetah X15/RAID=137.08 -IBM Deskstar 60GXP/ATA100=81.98 -MAXTOR 4K020H1/ATA100=84.58 -Seagate ST317221A/UDMA66=42.03 -Maxtor 6E040L0=79.36 -Seagate ST380021A/ATA100=73.11 -HITACHI DK23EA-40=80.04 -WDC WD800JB/ATA100=85.71 -TOSHIBA MK4019GAX=83.60 -Maxtor MaxLine III SATA+NCQ=119.96 -ST312002 6AS=106.61 -Maxtor Atlas 10K5 73SCA=145.86 -WDC WD3200YS-01PGB0=167.33 -Hitachi HTE726040M9AT00=84.61 -Seagate ST3160827AS=120.88 -WDC WD5000AADS-00S9B0=122.87 -Hitachi HTS545032B9A=161.10 -Seagate ST1000DM003-9YN1=282.43 - -[Benchmark_Disk_ReadRandom] -Hitachi HTE726040M9AT00=22.82 -Maxtor Atlas 10K5 73SCA=31.61 -Seagate ST3160827AS=32.26 -FUJITSU MHV2080BH=17.79 -TOSHIBA MK8034GSX=18.12 -ST916082 1AS=22.27 -WDC WD5000AADS-00S9B0=24.58 -Hitachi HTS545032B9A=24.72 -Seagate ST1000DM003-9YN1=37.09 - -[Benchmark_Disk_RandomAccess] -SEAGATE ST51080N=20.96 -Quantum Fireball_TM2110S300X=20.74 -Seagate ST34321A/UDMA33=17.21 -Seagate ST38410A/PIO=17.17 -Seagate ST31277A=16.75 -Fujitsu MPB3043ATU E=16.18 -IBM DTTA-350430=16.5 -IBM DCAS-32160 S65A=15.95 -Maxtor 92041U4/PIO=15.81 -Seagate ST34310A=15.56 -Maxtor 91021U2/PIO=15.66 -Seagate ST38421A=15.71 -QUANTUM FIREBALL ST3.2A=15.50 -QUANTUM FIREBALL SE2.1A=14.94 -Maxtor 54098U8/UDMA33=13.77 -Seagate ST320420A=12.57 -IBM DJNA-370910/UDMA66=12.10 -Seagate ST39102LW Cheetah=8.78 -IBM-DPTA-371360=13.37 -IBM-DJNA-371350=13.38 -IBM-DTLA-307030/ATA100=12.44 -IBM-DTLA-307030/ATA100+AAM=22.34 -SEAGATE Cheetah X15/RAID=5.65 -IBM Deskstar 60GXP=12.70 -MAXTOR 4K020H1/ATA100=19.12 -Seagate ST317221A/UDMA66=16.60 -Maxtor 6E040L0=14.52 -Seagate ST380021A/ATA100=14.58 -HITACHI DK23EA-40=19.40 -WDC WD800JB/ATA100=13.61 -TOSHIBA MK4019GAX=18.61 -Maxtor MaxLine III SATA+NCQ=15.82 -ST312002 6AS=12.51 -Maxtor Atlas 10K5 73SCA=10.16 -WDC WD3200YS-01PGB0=13.16 -Hitachi HTE726040M9AT00=12.90 -Seagate ST3160827AS=11.65 -Seagate ST380215A=14.82 -WDC WD5000AADS-00S9B0=17.37 -Hitachi HTS545032B9A=22.16 -Seagate ST1000DM003-9YN1=15.53 - -[LogfileSettings] -COMP=1 -COMP_SP=1 -COMP_Name=1 -COMP_Os=1 -COMP_User=0 -CPU=1 -CPU_Name=1 -CPU_ID=1 -CPU_Vendor=1 -CPU_Stepping=1 -CPU_Type=1 -CPU_BrandID=1 -CPU_PN=1 -CPU_Clock=1 -CPU_MaxFreq=1 -CPU_CacheL1=1 -CPU_CacheL2=1 -CPU_TLB_I=1 -CPU_TLB_D=1 -CPU_Features=1 -CPU_PIROM=1 -MEM=1 -MEM_TotalSize=1 -MEM_Timing=1 -MEM_Row=1 -MEM_Row_Size=1 -MEM_Row_Type=1 -MEM_Row_Speed=1 -MEM_Row_Model=1 -MEM_Row_ECC=1 -MEM_Row_Date=1 -MEM_Row_SN=1 -MEM_Row_Cfg=1 -MEM_Row_Latency=1 -MEM_Row_Features=1 -MEM_Row_iFeatures=1 -BUS=1 -BUS_PCI=1 -BUS_PCI_DevName=1 -BUS_PCI_DevNumber=1 -BUS_PCI_Resources=1 -BUS_PCI_Features=1 -BUS_PCI_DevSpecific=1 -BUS_PCIX_Features=1 -BUS_PCIe_Features=1 -BUS_PCI_DRV_INFO=1 -BUS_EISA=1 -DMI=1 -DMI_0=1 -DMI_1=1 -DMI_2=1 -DMI_3=1 -DMI_4=1 -DMI_5=1 -DMI_6=1 -DMI_7=1 -DMI_8=1 -DMI_9=1 -DMI_10=1 -DMI_11=1 -DMI_12=1 -DMI_13=1 -DMI_14=1 -DMI_15=1 -DMI_16=1 -DMI_17=1 -DMI_18=1 -DMI_19=1 -DMI_20=1 -DMI_21=1 -DMI_22=1 -DMI_23=1 -DMI_24=1 -DMI_25=1 -DMI_26=1 -DMI_27=1 -DMI_28=1 -DMI_29=1 -DMI_30=1 -DMI_31=1 -DMI_32=1 -DMI_33=1 -DMI_34=1 -DMI_35=1 -DMI_36=1 -DMI_37=1 -DMI_38=1 -DMI_39=1 -DMI_129=1 -DMI_130=1 -DMI_131=1 -VIDEO=1 -VIDEO_Chipset=1 -VIDEO_Memory=1 -VIDEO_Card=1 -VIDEO_Bus=1 -VIDEO_RAMDAC=1 -VIDEO_BIOSver=1 -VIDEO_Clock=1 -VIDEO_HWID=1 -VIDEO_DRV_INFO=1 -VIDEO_DirectX=1 -MON=1 -MON_Name=1 -MON_SN=1 -MON_Date=1 -MON_Dimensions=1 -MON_DisplayType=1 -MON_InputSignal=1 -MON_Gamma=1 -MON_DPMSinput=1 -MON_DPMSmodes=1 -MOBO=1 -MOBO_Model=1 -MOBO_Chipset=1 -MOBO_CompName=1 -MOBO_MachineType=1 -MOBO_Slots=1 -MOBO_BIOS_Manuf=1 -MOBO_BIOS_Date=1 -MOBO_PNP_Devs=1 -MOBO_PNP_Nodes=1 -MOBO_ACPI_Devs=1 -MOBO_ACPI_Enum=1 -DRIVE=1 -DRIVE_IDE=1 -DRIVE_IDE_Ctrller=1 -DRIVE_IDE_Channel=1 -DRIVE_IDE_Model=1 -DRIVE_IDE_Rev=1 -DRIVE_IDE_SN=1 -DRIVE_IDE_Capacity=1 -DRIVE_IDE_Geometry=1 -DRIVE_IDE_Cache=1 -DRIVE_IDE_Xfer=1 -DRIVE_IDE_BasicCapab=1 -DRIVE_IDE_ATA2Capab=1 -DRIVE_IDE_SMART=1 -DRIVE_SCSI=1 -DRIVE_SCSI_ID=1 -DRIVE_SCSI_Desc=1 -DRIVE_SCSI_Class=1 -DRIVE_Floppy=1 -NETWORK=1 -NETWORK_HWID=1 -NETWORK_DRV_INFO=1 -AUDIO=1 -AUDIO_DRV_INFO=1 -AUDIO_HWID=1 -PORTS=1 -BUS_USB=1 -BUS_USB_DRV_INFO=1 -BATTERY=1 -SENSORS=1 - -[Settings] -HighestIdeAddress=0 -AcpiEnum=0 -SWSMI=1 -DebugMode=0 -SMBus=1 -TempScale=C -AC97CodecID=1 -SkipProblematicPciDev=0 -GPUI2C=1 -LPC=1 -DefReportType=5 -TPM=0 -PCIdirect=1 -OpenSystemSummary=0 -RememberPreferences=1 -LargeFonts=0 -OpenSensors=0 -MinimalizeMainWnd=0 -MinimalizeSensors=0 -PersistentDriver=0 -UseHPET=1 -AutoUpdate=0 -GPUI2CNVAPI=1 -GPUI2CADL=0 -SensorsOnly=0 -AcpiEval=1 -CpuClkFromBusClk=1 -BusClkPolling=1 -SMBusAdrExclude=11111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000 -GPUI2CBusExclude=00000000 -SensorsSM=1 -IoctlKernel=0 -SummaryOnly=0 -WakeGPUs=1 -KeepTheme=0 -FlushBuffers=1 -iMEsupport=1 -GPUI2Ccaching=1 -CSMI_SAS_Support=1 -DebugDirect=1 -MinimalizeSensorsClose=0 -WakeGPUsExt=0 -PollSleepingGPUs=0 -ShowWelcomeAndProgress=1 -EnablePchTherm=0 -ReorderGPUs=1 -NvmlSupport=1 -DecimalSeparator=. -ThousandsSeparator=, -CsvSeparator=, -MinimizeGraphs=1 -TextButtons=0 diff --git a/setup/pe/bin/NotepadPlusPlus/npp.cmd b/setup/pe/bin/NotepadPlusPlus/npp.cmd deleted file mode 100644 index 6996dd3c..00000000 --- a/setup/pe/bin/NotepadPlusPlus/npp.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -start "" %SystemDrive%\.bin\NotepadPlusPlus\notepadplusplus.exe %2 %3 %4 %5 %6 %7 %8 %9 \ No newline at end of file diff --git a/setup/pe/bin/Q-Dir/Q-Dir.ini b/setup/pe/bin/Q-Dir/Q-Dir.ini deleted file mode 100644 index f0daf623..00000000 --- a/setup/pe/bin/Q-Dir/Q-Dir.ini +++ /dev/null @@ -1,68 +0,0 @@ -[Start] -m_lang_id=1 -QDir_Id=0 -useColorStart=1 -Als=12 -designe_mode=2 -showCmd=3 -StartCrash=0 -default_tab= -Max=1 -show_ext_in_type=1 -title_info=1 -adresbar_style=1 -useTreeColor=1 -useColor=1 -[Favoriten] -Ordner=.\Favoriten\ -[Q] -Link=.\Favoriten\Quick-Link\ -[Q-Dir] -Lizenz=1 - - - - - -[Vorschau] -Filter=*.avi;*.bmp;*.gif;*.ico;*.jpeg;*.jpg;*.mp*;*.pdf;*.png;*.wm*; -[Filter2] -0=#Hidden=1=-1=1=1=-1=0 -1=*.zip;*.rar;*.gz;*.7z;=1=00AA00=-1=1=-1=0 -2=*.mp*;*.avi;*.wma;=1=DD0058=-1=1=-1=0 -3=#DIR=1=008800=-1=1=-1=0 -4=*.jpg;*.jpeg;*.png,*.gif;*.bmp;*.ico=1=BB00BB=-1=1=-1=0 -5=*.html;*.htm;*.url=1=456789=-1=1=-1=0 -6=*.pl;*.cgi;*.php;*.pdf;*.doc;*.rtf;*.xls=1=BB8844=-1=1=-1=0 -7=*.cpp;*.hpp;*.h=1=DD0058=-1=1=-1=0 -8=*.exe;*.dll;*.bat=1=FF0000=-1=1=-1=0 -9=*=1=0000BB=-1=1=-1=0 -10=#BG=1=-1=-1=1=-1=0 -11=#BG-A=1=-1=-1=1=-1=0 -[Ordner] -Filter= -[Column_OS_6.1_Ploder1] -Spatlen_::{20D04FE0-3AEA-1069-A2D8-08002B30309D}=%1C%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%F1%F1%F1%F1%14%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%D0%02%00%00%CC%02%00%00%31%53%50%53%05%D5%CD%D5%9C%2E%1B%10%93%97%08%00%2B%2C%F9%AE%83%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%46%00%4D%00%54%00%49%00%44%00%00%00%08%00%00%00%4E%00%00%00%7B%00%42%00%37%00%32%00%35%00%46%00%31%00%33%00%30%00%2D%00%34%00%37%00%45%00%46%00%2D%00%31%00%30%00%31%00%41%00%2D%00%41%00%35%00%46%00%31%00%2D%00%30%00%32%00%36%00%30%00%38%00%43%00%39%00%45%00%45%00%42%00%41%00%43%00%7D%00%00%00%00%00%33%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%44%00%69%00%72%00%65%00%63%00%74%00%69%00%6F%00%6E%00%00%00%13%00%00%00%01%00%00%00%5B%00%00%00%0A%00%00%00%00%53%00%6F%00%72%00%74%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%1C%00%00%00%01%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%01%00%00%00%25%00%00%00%14%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%56%00%69%00%65%00%77%00%00%00%0B%00%00%00%FF%FF%00%00%1B%00%00%00%0A%00%00%00%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%04%00%00%00%23%00%00%00%12%00%00%00%00%49%00%63%00%6F%00%6E%00%53%00%69%00%7A%00%65%00%00%00%13%00%00%00%10%00%00%00%BD%00%00%00%10%00%00%00%00%43%00%6F%00%6C%00%49%00%6E%00%66%00%6F%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%78%00%00%00%FD%DF%DF%FD%10%00%00%00%00%00%00%00%00%00%00%00%04%00%00%00%18%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%8C%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%04%00%00%00%AF%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%03%00%00%00%70%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%02%00%00%00%70%00%00%00%2F%00%00%00%1E%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%50%00%49%00%44%00%00%00%13%00%00%00%04%00%00%00%1F%00%00%00%0E%00%00%00%00%46%00%46%00%6C%00%61%00%67%00%73%00%00%00%13%00%00%00%05%00%20%40%31%00%00%00%20%00%00%00%00%4C%00%6F%00%67%00%69%00%63%00%61%00%6C%00%56%00%69%00%65%00%77%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00|CODEMODE1|-1905896973|772 -Spatlen_291=%1C%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%F1%F1%F1%F1%14%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%D0%02%00%00%CC%02%00%00%31%53%50%53%05%D5%CD%D5%9C%2E%1B%10%93%97%08%00%2B%2C%F9%AE%83%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%46%00%4D%00%54%00%49%00%44%00%00%00%08%00%00%00%4E%00%00%00%7B%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%2D%00%30%00%30%00%30%00%30%00%2D%00%30%00%30%00%30%00%30%00%2D%00%30%00%30%00%30%00%30%00%2D%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%30%00%7D%00%00%00%00%00%33%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%44%00%69%00%72%00%65%00%63%00%74%00%69%00%6F%00%6E%00%00%00%13%00%00%00%01%00%00%00%5B%00%00%00%0A%00%00%00%00%53%00%6F%00%72%00%74%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%1C%00%00%00%01%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%01%00%00%00%25%00%00%00%14%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%56%00%69%00%65%00%77%00%00%00%0B%00%00%00%00%00%00%00%1B%00%00%00%0A%00%00%00%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%04%00%00%00%23%00%00%00%12%00%00%00%00%49%00%63%00%6F%00%6E%00%53%00%69%00%7A%00%65%00%00%00%13%00%00%00%10%00%00%00%BD%00%00%00%10%00%00%00%00%43%00%6F%00%6C%00%49%00%6E%00%66%00%6F%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%78%00%00%00%FD%DF%DF%FD%10%00%00%00%00%00%00%00%00%00%00%00%04%00%00%00%18%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%EE%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0E%00%00%00%69%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%04%00%00%00%91%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0C%00%00%00%46%00%00%00%2F%00%00%00%1E%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%50%00%49%00%44%00%00%00%13%00%00%00%00%00%00%00%1F%00%00%00%0E%00%00%00%00%46%00%46%00%6C%00%61%00%67%00%73%00%00%00%13%00%00%00%05%00%20%40%31%00%00%00%20%00%00%00%00%4C%00%6F%00%67%00%69%00%63%00%61%00%6C%00%56%00%69%00%65%00%77%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00|CODEMODE1|-563719693|772 -[Column_OS_6.1_Ploder2] -Spatlen_::{20D04FE0-3AEA-1069-A2D8-08002B30309D}=%1C%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%F1%F1%F1%F1%14%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%D0%02%00%00%CC%02%00%00%31%53%50%53%05%D5%CD%D5%9C%2E%1B%10%93%97%08%00%2B%2C%F9%AE%83%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%46%00%4D%00%54%00%49%00%44%00%00%00%08%00%00%00%4E%00%00%00%7B%00%42%00%37%00%32%00%35%00%46%00%31%00%33%00%30%00%2D%00%34%00%37%00%45%00%46%00%2D%00%31%00%30%00%31%00%41%00%2D%00%41%00%35%00%46%00%31%00%2D%00%30%00%32%00%36%00%30%00%38%00%43%00%39%00%45%00%45%00%42%00%41%00%43%00%7D%00%00%00%00%00%33%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%44%00%69%00%72%00%65%00%63%00%74%00%69%00%6F%00%6E%00%00%00%13%00%00%00%01%00%00%00%5B%00%00%00%0A%00%00%00%00%53%00%6F%00%72%00%74%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%1C%00%00%00%01%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%01%00%00%00%25%00%00%00%14%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%56%00%69%00%65%00%77%00%00%00%0B%00%00%00%FF%FF%00%00%1B%00%00%00%0A%00%00%00%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%04%00%00%00%23%00%00%00%12%00%00%00%00%49%00%63%00%6F%00%6E%00%53%00%69%00%7A%00%65%00%00%00%13%00%00%00%10%00%00%00%BD%00%00%00%10%00%00%00%00%43%00%6F%00%6C%00%49%00%6E%00%66%00%6F%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%78%00%00%00%FD%DF%DF%FD%10%00%00%00%00%00%00%00%00%00%00%00%04%00%00%00%18%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%8C%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%04%00%00%00%AF%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%03%00%00%00%70%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%02%00%00%00%70%00%00%00%2F%00%00%00%1E%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%50%00%49%00%44%00%00%00%13%00%00%00%04%00%00%00%1F%00%00%00%0E%00%00%00%00%46%00%46%00%6C%00%61%00%67%00%73%00%00%00%13%00%00%00%05%00%20%40%31%00%00%00%20%00%00%00%00%4C%00%6F%00%67%00%69%00%63%00%61%00%6C%00%56%00%69%00%65%00%77%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00|CODEMODE1|-1905896973|772 -[Column_OS_6.1_Ploder3] -Spatlen_::{20D04FE0-3AEA-1069-A2D8-08002B30309D}=%1C%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%F1%F1%F1%F1%14%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%D0%02%00%00%CC%02%00%00%31%53%50%53%05%D5%CD%D5%9C%2E%1B%10%93%97%08%00%2B%2C%F9%AE%83%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%46%00%4D%00%54%00%49%00%44%00%00%00%08%00%00%00%4E%00%00%00%7B%00%42%00%37%00%32%00%35%00%46%00%31%00%33%00%30%00%2D%00%34%00%37%00%45%00%46%00%2D%00%31%00%30%00%31%00%41%00%2D%00%41%00%35%00%46%00%31%00%2D%00%30%00%32%00%36%00%30%00%38%00%43%00%39%00%45%00%45%00%42%00%41%00%43%00%7D%00%00%00%00%00%33%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%44%00%69%00%72%00%65%00%63%00%74%00%69%00%6F%00%6E%00%00%00%13%00%00%00%01%00%00%00%5B%00%00%00%0A%00%00%00%00%53%00%6F%00%72%00%74%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%1C%00%00%00%01%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%01%00%00%00%25%00%00%00%14%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%56%00%69%00%65%00%77%00%00%00%0B%00%00%00%FF%FF%00%00%1B%00%00%00%0A%00%00%00%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%04%00%00%00%23%00%00%00%12%00%00%00%00%49%00%63%00%6F%00%6E%00%53%00%69%00%7A%00%65%00%00%00%13%00%00%00%10%00%00%00%BD%00%00%00%10%00%00%00%00%43%00%6F%00%6C%00%49%00%6E%00%66%00%6F%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%78%00%00%00%FD%DF%DF%FD%10%00%00%00%00%00%00%00%00%00%00%00%04%00%00%00%18%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%8C%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%04%00%00%00%AF%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%03%00%00%00%70%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%02%00%00%00%70%00%00%00%2F%00%00%00%1E%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%50%00%49%00%44%00%00%00%13%00%00%00%04%00%00%00%1F%00%00%00%0E%00%00%00%00%46%00%46%00%6C%00%61%00%67%00%73%00%00%00%13%00%00%00%05%00%20%40%31%00%00%00%20%00%00%00%00%4C%00%6F%00%67%00%69%00%63%00%61%00%6C%00%56%00%69%00%65%00%77%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00|CODEMODE1|-1905896973|772 -[Column_OS_6.1_Ploder4] -Spatlen_::{20D04FE0-3AEA-1069-A2D8-08002B30309D}=%1C%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%F1%F1%F1%F1%14%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%D0%02%00%00%CC%02%00%00%31%53%50%53%05%D5%CD%D5%9C%2E%1B%10%93%97%08%00%2B%2C%F9%AE%83%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%46%00%4D%00%54%00%49%00%44%00%00%00%08%00%00%00%4E%00%00%00%7B%00%42%00%37%00%32%00%35%00%46%00%31%00%33%00%30%00%2D%00%34%00%37%00%45%00%46%00%2D%00%31%00%30%00%31%00%41%00%2D%00%41%00%35%00%46%00%31%00%2D%00%30%00%32%00%36%00%30%00%38%00%43%00%39%00%45%00%45%00%42%00%41%00%43%00%7D%00%00%00%00%00%33%00%00%00%22%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%44%00%69%00%72%00%65%00%63%00%74%00%69%00%6F%00%6E%00%00%00%13%00%00%00%01%00%00%00%5B%00%00%00%0A%00%00%00%00%53%00%6F%00%72%00%74%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%1C%00%00%00%01%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%01%00%00%00%25%00%00%00%14%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%56%00%69%00%65%00%77%00%00%00%0B%00%00%00%FF%FF%00%00%1B%00%00%00%0A%00%00%00%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%04%00%00%00%23%00%00%00%12%00%00%00%00%49%00%63%00%6F%00%6E%00%53%00%69%00%7A%00%65%00%00%00%13%00%00%00%10%00%00%00%BD%00%00%00%10%00%00%00%00%43%00%6F%00%6C%00%49%00%6E%00%66%00%6F%00%00%00%42%00%00%00%1E%00%00%00%70%00%72%00%6F%00%70%00%34%00%32%00%39%00%34%00%39%00%36%00%37%00%32%00%39%00%35%00%00%00%00%00%78%00%00%00%FD%DF%DF%FD%10%00%00%00%00%00%00%00%00%00%00%00%04%00%00%00%18%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%0A%00%00%00%8C%00%00%00%30%F1%25%B7%EF%47%1A%10%A5%F1%02%60%8C%9E%EB%AC%04%00%00%00%AF%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%03%00%00%00%70%00%00%00%35%4B%17%9B%FF%40%D2%11%A2%7E%00%C0%4F%C3%08%71%02%00%00%00%70%00%00%00%2F%00%00%00%1E%00%00%00%00%47%00%72%00%6F%00%75%00%70%00%42%00%79%00%4B%00%65%00%79%00%3A%00%50%00%49%00%44%00%00%00%13%00%00%00%04%00%00%00%1F%00%00%00%0E%00%00%00%00%46%00%46%00%6C%00%61%00%67%00%73%00%00%00%13%00%00%00%05%00%20%40%31%00%00%00%20%00%00%00%00%4C%00%6F%00%67%00%69%00%63%00%61%00%6C%00%56%00%69%00%65%00%77%00%4D%00%6F%00%64%00%65%00%00%00%13%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00|CODEMODE1|-1905896973|772 -[Programs_State] -Disable=0 -[Quick-Links] -WK=%systemdrive%/WK -[Options] -Start=7 -[X-Size] -mode=1 -dig=0 -fld_size=1 -ths_sep=1 -type=0 -precent=1 -ff_cnt=1 -block_no_focus=1 -nosort_fld_size=1 diff --git a/setup/pe/build_pe.ps1 b/setup/pe/build_pe.ps1 index 2b205093..c79c9c51 100644 --- a/setup/pe/build_pe.ps1 +++ b/setup/pe/build_pe.ps1 @@ -6,23 +6,44 @@ if (Test-Path Env:\DEBUG) { Set-PSDebug -Trace 1 } -$Host.UI.RawUI.WindowTitle = "Wizard Kit: Windows PE Build Tool" -$WD = $(Split-Path $MyInvocation.MyCommand.Path) -$Bin = (Get-Item $WD -Force).Parent.FullName -$Root = (Get-Item $Bin -Force).Parent.FullName -$Build = "$Root\BUILD_PE" -$LogDir = "$Build\Logs" -$Temp = "$Build\Temp" +try { + Import-Module -Name $Env:DISMRoot -ErrorAction "stop" +} +catch { + Write-Host -ForegroundColor "Red" "ERROR: Failed to load DISM CmdLet" + Abort +} +# Dirs +$WorkingDir = $(Split-Path $MyInvocation.MyCommand.Path) +$SetupDir = (Get-Item $WorkingDir -Force).Parent.FullName +$RootDir = (Get-Item $SetupDir -Force).Parent.FullName +$BuildDir = "$SetupDir\BUILD_PE" +$OutDir = "$SetupDir\OUT_PE" +$TempDir = "$BuildDir\temp" +$MountDir = "$BuildDir\mount" +$TargetDir = "$BuildDir\pe_files" +# Misc +$Arch = "amd64" $Date = Get-Date -UFormat "%Y-%m-%d" -$Host.UI.RawUI.BackgroundColor = "Black" -$Host.UI.RawUI.ForegroundColor = "White" +$DISM = "{0}\DISM.exe" -f $Env:DISMRoot $HostSystem32 = "{0}\System32" -f $Env:SystemRoot $HostSysWOW64 = "{0}\SysWOW64" -f $Env:SystemRoot -$DISM = "{0}\DISM.exe" -f $Env:DISMRoot -#Enable TLS 1.2 +$KitNameFull = (Get-Content "$RootDir\scripts\wk\cfg\main.py" | Where-Object {$_ -imatch '^KIT_NAME_FULL'}) -ireplace '.*=.(.*).$', '$1' +$KitNameShort = (Get-Content "$RootDir\scripts\wk\cfg\main.py" | Where-Object {$_ -imatch '^KIT_NAME_SHORT'}) -ireplace '.*=.(.*).$', '$1' +# Set up UI +$Host.UI.RawUI.WindowTitle = "${KitNameFull}: Windows PE Build Tool" +$Host.UI.RawUI.BackgroundColor = "Black" +$Host.UI.RawUI.ForegroundColor = "White" +# Enable TLS 1.2 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ## Functions ## +function Abort { + Write-Host -ForegroundColor "Red" "`nAborted." + WKPause "Press Enter to exit... " + exit +} + function Ask-User ($text = "Kotaero") { $text += " [Y/N]" while ($true) { @@ -37,33 +58,36 @@ function Ask-User ($text = "Kotaero") { } $answer } -function Abort { - Write-Host -ForegroundColor "Red" "`nAborted." - WKPause "Press Enter to exit... " - exit -} -function MakeClean { + +function Clean-BuildDir { $Folders = @( - "$Build\Mount", - "$Build\PEFiles") - $Clean = $false + "$BuildDir\additions", + "$BuildDir\mount", + "$BuildDir\pe_files", + "$BuildDir\temp") + + # WIM cleanup + if (Test-Path "$MountDir") { + try { + Dismount-WindowsImage -Path "$MountDir" -Discard + } + catch { + # Ignore + } + Start-Process -FilePath $DISM -ArgumentList @("/Cleanup-Mountpoints") -NoNewWindow -Wait + } + + # Folders foreach ($f in $Folders) { if (Test-Path $f) { - Write-Host -ForegroundColor "Yellow" ("Found: {0}" -f $f) - $Clean = $true - } - } - if (($Clean) -and (Ask-User "Delete the above folder(s)?")) { - foreach ($f in $Folders) { - if (Test-Path $f) { - Remove-Item -Path $f -Recurse -Force - } + Write-Host -ForegroundColor "Yellow" ("Removing: {0}" -f $f) + Remove-Item -Path $f -Recurse -Force } } } -function DownloadFile ($Path, $Name, $Url) { - $OutFile = "{0}\{1}" -f $Path, $Name +function Download-File ($Path, $Name, $Url) { + $OutFile = "{0}\{1}" -f $Path, $Name Write-Host ("Downloading: $Name") New-Item -Type Directory $Path 2>&1 | Out-Null try { @@ -71,10 +95,116 @@ function DownloadFile ($Path, $Name, $Url) { } catch { Write-Host (" ERROR: Failed to download file." ) -ForegroundColor "Red" - $global:DownloadErrors += 1 + Abort } } -function FindDynamicUrl ($SourcePage, $RegEx) { + +function Download-SourceFiles { + $Sources = Get-Content -Path "$WorkingDir\sources.json" | ConvertFrom-JSON + foreach ($s in $Sources) { + $Dest = "$BuildDir\downloads\{0}" -f $s.Name + if (Test-Path -PathType Leaf -Path "$Dest") { + if (Test-Hash -File $Dest -Hash $s.Hash) { + continue + } + # Hash didn't match + Remove-Item $Dest -Force + } + + # File needs downloaded (again) + Download-File -Path "$BuildDir\downloads" -Name $s.Name -Url $s.Url + + # Verify download + if ( -Not (Test-Hash -File $Dest -Hash $s.Hash)) { + Write-Host (" ERROR: Download failed hash check." ) -ForegroundColor "Red" + Abort + } + } +} + +function Extract-SourceFiles { + $ProgramFilesPE = "$BuildDir\additions\Program Files" + New-Item -Type Directory $ProgramFilesPE -Force + + # 7-Zip + Write-Host "Extracting: 7-Zip" + try { + $ArgumentList = @("/a", "$BuildDir\downloads\7z.msi", "TARGETDIR=$TempDir\7zi", "/qn") + Start-Process -FilePath "$HostSystem32\msiexec.exe" -ArgumentList $ArgumentList -Wait + New-Item -Type Directory "$ProgramFilesPE\7-Zip" 2>&1 | Out-Null + Move-Item "$TempDir\7zi\Files\7-Zip\7z.dll" "$ProgramFilesPE\7-Zip\7z.dll" + Move-Item "$TempDir\7zi\Files\7-Zip\7z.exe" "$ProgramFilesPE\7-Zip\7z.exe" + Move-Item "$TempDir\7zi\Files\7-Zip\License.txt" "$ProgramFilesPE\7-Zip\License.txt" + } + catch { + Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" + } + $SevenZip = "$ProgramFilesPE\7-Zip\7z.exe" + + # ConEmu + Write-Host "Extracting: ConEmu" + try { + $ArgumentList = @( + "x", "$BuildDir\downloads\ConEmu.7z", "-o`"$ProgramFilesPE`"\ConEmu", + "-aoa", "-bso0", "-bse0", "-bsp0", + "ConEmu.exe", + "ConEmu.map", + "ConEmu64.exe", + "ConEmu64.map", + "ConEmu\CmdInit.cmd", + "ConEmu\ConEmuC.exe", + "ConEmu\ConEmuC64.exe", + "ConEmu\ConEmuCD.dll", + "ConEmu\ConEmuCD64.dll", + "ConEmu\ConEmuHk.dll", + "ConEmu\ConEmuHk64.dll" + ) + Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait + } + catch { + Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" + } + + # Notepad++ + Write-Host "Extracting: Notepad++" + try { + $ArgumentList = @( + "x", "$BuildDir\downloads\npp.7z", "-o`"$ProgramFilesPE`"\NotepadPlusPlus", + "-aoa", "-bso0", "-bse0", "-bsp0") + Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait + } + catch { + Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" + } + + # NTPWEdit + Write-Host "Extracting: NTPWEdit" + try { + $ArgumentList = @( + "e", "$BuildDir\downloads\ntpwedit.zip", "-o`"$ProgramFilesPE`"\NTPWEdit", + "-aoa", "-bso0", "-bse0", "-bsp0", + "COPYING.txt", "GPL.txt", "ntpwedit64.exe") + Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait + Move-Item "$ProgramFilesPE\NTPWEdit\ntpwedit64.exe" "$ProgramFilesPE\NTPWEdit\ntpwedit.exe" + } + catch { + Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" + } + + # wimlib + Write-Host "Extracting: wimlib" + try { + $ArgumentList = @( + "x", "$BuildDir\downloads\wimlib.zip", "-o`"$ProgramFilesPE`"\wimlib", + "-aoa", "-bso0", "-bse0", "-bsp0") + Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait + } + catch { + Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" + } +} + +function Find-DynamicUrl ($SourcePage, $RegEx) { # Get source page Invoke-Webrequest -Uri $SourcePage -OutFile "tmp_page" @@ -88,11 +218,25 @@ function FindDynamicUrl ($SourcePage, $RegEx) { $Url | Select-Object -First 1 } + +function Test-Hash ($File, $Hash) { + Write-Host -BackgroundColor Black -ForegroundColor Cyan "Verifying ${File}..." + $FileHash = (Get-FileHash -Path $File -Algorithm SHA256 -ErrorAction Stop).Hash + return ($FileHash.ToLower() -eq $Hash) +} + function WKPause ($Message = "Press Enter to continue... ") { Write-Host $Message -NoNewLine Read-Host } +## Safety Check ## +if ($PSVersionTable.PSVersion.Major -eq 6 -and $PSVersionTable.OS -imatch "Windows 6.1") { + Write-Host "`nThis script doesn't support PowerShell 6.0 on Windows 7." + Write-Host "Press Enter to exit... " -NoNewLine + Abort +} + ## PowerShell equivalent of Python's "if __name__ == '__main__'" # Code based on StackOverflow comments # Question: https://stackoverflow.com/q/4693947 @@ -100,558 +244,146 @@ function WKPause ($Message = "Press Enter to continue... ") { # Asked by: https://stackoverflow.com/users/65164/mark-mascolino # Answer by: https://stackoverflow.com/users/696808/bacon-bits if ($MyInvocation.InvocationName -ne ".") { - Clear-Host Write-Host "Wizard Kit: Windows PE Build Tool`n`n`n`n`n" + Push-Location "$WorkingDir" + New-Item -Type Directory $BuildDir 2>&1 | Out-Null + Clean-BuildDir + Copy-Item -Path "$SetupDir\pe\additions" -Destination "$BuildDir\additions" -Recurse -Force - ## Prep ## - try { - Import-Module -Name $Env:DISMRoot -ErrorAction "stop" - } - catch { - Write-Host -ForegroundColor "Red" "ERROR: Failed to load DISM CmdLet" - Abort - } - Push-Location "$WD" - MakeClean - New-Item -Type Directory $Build 2>&1 | Out-Null - New-Item -Type Directory $LogDir 2>&1 | Out-Null - - ## main.py ## - if (!(Test-Path "$Build\main.py") -or (Ask-User "Replace existing main.py?")) { - Copy-Item -Path "$Bin\Scripts\settings\main.py" -Destination "$Build\main.py" -Force - } - WKPause "Press Enter to open settings..." - Start-Process "$HostSystem32\notepad.exe" -ArgumentList @("$Build\main.py") -Wait - $KitNameFull = (Get-Content "$Build\main.py" | Where-Object {$_ -match 'FULL'}) -replace ".*'(.*)'$", '$1' - $KitNameShort = (Get-Content "$Build\main.py" | Where-Object {$_ -match 'SHORT'}) -replace ".*'(.*)'$", '$1' - - if (Ask-User "Update Tools?") { - $DownloadErrors = 0 - - ## Download Tools ## - $ToolSources = @( - # 7-Zip - @("7z-installer.msi", "https://www.7-zip.org/a/7z1900.msi"), - @("7z-extra.7z", "https://www.7-zip.org/a/7z1900-extra.7z"), - # Blue Screen View - @("bluescreenview32.zip", "http://www.nirsoft.net/utils/bluescreenview.zip"), - @("bluescreenview64.zip", "http://www.nirsoft.net/utils/bluescreenview-x64.zip"), - # ConEmu - @("ConEmuPack.7z", "https://github.com/Maximus5/ConEmu/releases/download/v19.03.10/ConEmuPack.190310.7z"), - # Fast Copy - @("fastcopy.zip", "http://ftp.vector.co.jp/71/31/2323/FastCopy363_installer.exe"), - # HWiNFO - @("hwinfo.zip", "http://files2.majorgeeks.com/377527622c5325acc1cb937fb149d0de922320c0/systeminfo/hwi_602.zip"), - # Killer Network Drivers - @( - "killerinf.zip", - ("https://www.killernetworking.com"+(FindDynamicUrl "https://www.killernetworking.com/killersupport/category/other-downloads" "Download Killer-Ethernet").replace('&', '&')) - ), - # Notepad++ - @("npp_x86.7z", "https://notepad-plus-plus.org/repository/7.x/7.6.4/npp.7.6.4.bin.minimalist.7z"), - @("npp_amd64.7z", "https://notepad-plus-plus.org/repository/7.x/7.6.4/npp.7.6.4.bin.minimalist.x64.7z"), - # NT Password Editor - @("ntpwed.zip", "http://cdslow.org.ru/files/ntpwedit/ntpwed07.zip"), - # Prime95 - @("prime95_32.zip", "http://www.mersenne.org/ftp_root/gimps/p95v294b7.win32.zip"), - @("prime95_64.zip", "http://www.mersenne.org/ftp_root/gimps/p95v294b8.win64.zip"), - # ProduKey - @("produkey32.zip", "http://www.nirsoft.net/utils/produkey.zip"), - @("produkey64.zip", "http://www.nirsoft.net/utils/produkey-x64.zip"), - # Python - @("python32.zip", "https://www.python.org/ftp/python/3.7.2/python-3.7.2.post1-embed-win32.zip"), - @("python64.zip", "https://www.python.org/ftp/python/3.7.2/python-3.7.2.post1-embed-amd64.zip"), - # Python: psutil - @( - "psutil64.whl", - (FindDynamicUrl "https://pypi.org/project/psutil/" "href=.*-cp37-cp37m-win_amd64.whl") - ), - @( - "psutil32.whl", - (FindDynamicUrl "https://pypi.org/project/psutil/" "href=.*-cp37-cp37m-win32.whl") - ), - # Q-Dir - @("qdir32.zip", "https://www.softwareok.com/Download/Q-Dir_Portable.zip"), - @("qdir64.zip", "https://www.softwareok.com/Download/Q-Dir_Portable_x64.zip"), - # TestDisk / PhotoRec - @("testdisk32.zip", "https://www.cgsecurity.org/testdisk-7.1-WIP.win.zip"), - @("testdisk64.zip", "https://www.cgsecurity.org/testdisk-7.1-WIP.win64.zip"), - # VirtIO drivers - @("virtio-win.iso", "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso"), - # Visual C++ Runtimes - @("vcredist_x86.exe", "https://aka.ms/vs/15/release/vc_redist.x86.exe"), - @("vcredist_x64.exe", "https://aka.ms/vs/15/release/vc_redist.x64.exe"), - # wimlib-imagex - @("wimlib32.zip", "https://wimlib.net/downloads/wimlib-1.13.0-windows-i686-bin.zip"), - @("wimlib64.zip", "https://wimlib.net/downloads/wimlib-1.13.0-windows-x86_64-bin.zip") - ) - foreach ($Tool in $ToolSources) { - DownloadFile -Path $Temp -Name $Tool[0] -Url $Tool[1] - } - - ## Bail ## - # If errors were encountered during downloads - if ($DownloadErrors -gt 0) { - Abort - } - - ## Install ## - # Visual C++ Runtimes - Write-Host "Installing: Visual C++ Runtimes" - $ArgumentList = @("/install", "/passive", "/norestart") - Start-Process -FilePath "$Temp\vcredist_x86.exe" -ArgumentList $ArgumentList -Wait - Start-Process -FilePath "$Temp\vcredist_x64.exe" -ArgumentList $ArgumentList -Wait - - ## Extract ## - # 7-Zip - Write-Host "Extracting: 7-Zip" - try { - $ArgumentList = @("/a", "$Temp\7z-installer.msi", "TARGETDIR=$Temp\7zi", "/qn") - Start-Process -FilePath "$HostSystem32\msiexec.exe" -ArgumentList $ArgumentList -Wait - $SevenZip = "$Temp\7zi\Files\7-Zip\7z.exe" - $ArgumentList = @( - "e", "$Temp\7z-extra.7z", "-o$Build\bin\amd64\7-Zip", - "-aoa", "-bso0", "-bse0", "-bsp0", - "x64\7za.exe", "*.txt") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "e", "$Temp\7z-extra.7z", "-o$Build\bin\x86\7-Zip", - "-aoa", "-bso0", "-bse0", "-bsp0", - "7za.exe", "*.txt") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # Blue Screen View - Write-Host "Extracting: BlueScreenView" - try { - $ArgumentList = @( - "x", "$Temp\bluescreenview64.zip", "-o$Build\bin\amd64\BlueScreenView", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\bluescreenview32.zip", "-o$Build\bin\x86\BlueScreenView", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # ConEmu - Write-Host "Extracting: ConEmu" - try { - $ArgumentList = @( - "x", "$Temp\ConEmuPack.7z", "-o$Build\bin\amd64\ConEmu", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Remove-Item "$Build\bin\amd64\ConEmu\ConEmu.exe" - Remove-Item "$Build\bin\amd64\ConEmu\ConEmu.map" - Move-Item "$Build\bin\amd64\ConEmu\ConEmu64.exe" "$Build\bin\amd64\ConEmu\ConEmu.exe" -Force - Move-Item "$Build\bin\amd64\ConEmu\ConEmu64.map" "$Build\bin\amd64\ConEmu\ConEmu.map" -Force - $ArgumentList = @( - "x", "$Temp\ConEmuPack.7z", "-o$Build\bin\x86\ConEmu", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Remove-Item "$Build\bin\x86\ConEmu\ConEmu64.exe" - Remove-Item "$Build\bin\x86\ConEmu\ConEmu64.map" - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # Fast Copy - Write-Host "Extracting: FastCopy" - try { - # Extract Installer - $ArgumentList = @( - "e", "$Temp\fastcopy.zip", "-o$Temp", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - - # Extract 64-bit - $ArgumentList = @( - "/NOSUBDIR", "/DIR=$Build\bin\amd64\FastCopy", - "/EXTRACT64") - Start-Process -FilePath "$TEMP\FastCopy354_installer.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait - Remove-Item "$Build\bin\amd64\FastCopy\setup.exe" -Force - - # Extract 32-bit - $ArgumentList = @( - "/NOSUBDIR", "/DIR=$Build\bin\x86\FastCopy", - "/EXTRACT32") - Start-Process -FilePath "$TEMP\FastCopy354_installer.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait - Remove-Item "$Build\bin\x86\FastCopy\setup.exe" -Force - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - - # Killer Network Driver - Write-Host "Extracting: Killer Network Driver" - try { - $ArgumentList = @( - "e", "$Temp\killerinf.zip", "-o$Build\Drivers\amd64\Killer", - "-aoa", "-bso0", "-bse0", "-bsp0", - "Production\Windows10-x64\Eth\*") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "e", "$Temp\killerinf.zip", "-o$Build\Drivers\x86\Killer", - "-aoa", "-bso0", "-bse0", "-bsp0", - "Production\Windows10-x86\Eth\*") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # HWiNFO - Write-Host "Extracting: HWiNFO" - try { - $ArgumentList = @( - "e", "$Temp\hwinfo.zip", "-o$Build\bin\amd64\HWiNFO", - "-aoa", "-bso0", "-bse0", "-bsp0", "HWiNFO64.exe") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "e", "$Temp\hwinfo.zip", "-o$Build\bin\x86\HWiNFO", - "-aoa", "-bso0", "-bse0", "-bsp0", "HWiNFO32.exe") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Move-Item "$Build\bin\amd64\HWiNFO\HWiNFO64.exe" "$Build\bin\amd64\HWiNFO\HWiNFO.exe" -Force - Move-Item "$Build\bin\x86\HWiNFO\HWiNFO32.exe" "$Build\bin\x86\HWiNFO\HWiNFO.exe" -Force - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # Notepad++ - Write-Host "Extracting: Notepad++" - try { - $ArgumentList = @( - "x", "$Temp\npp_amd64.7z", "-o$Build\bin\amd64\NotepadPlusPlus", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\npp_x86.7z", "-o$Build\bin\x86\NotepadPlusPlus", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Move-Item "$Build\bin\amd64\NotepadPlusPlus\notepad++.exe" "$Build\bin\amd64\NotepadPlusPlus\notepadplusplus.exe" -Force - Move-Item "$Build\bin\x86\NotepadPlusPlus\notepad++.exe" "$Build\bin\x86\NotepadPlusPlus\notepadplusplus.exe" -Force - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # NT Password Editor - Write-Host "Extracting: NT Password Editor" - try { - $ArgumentList = @( - "e", "$Temp\ntpwed.zip", ('-o"{0}\bin\amd64\NT Password Editor"' -f $Build), - "-aoa", "-bso0", "-bse0", "-bsp0", - "ntpwedit64.exe", "*.txt") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Move-Item "$Build\bin\amd64\NT Password Editor\ntpwedit64.exe" "$Build\bin\amd64\NT Password Editor\ntpwedit.exe" -Force - $ArgumentList = @( - "e", "$Temp\ntpwed.zip", ('-o"{0}\bin\x86\NT Password Editor"' -f $Build), - "-aoa", "-bso0", "-bse0", "-bsp0", - "ntpwedit.exe", "*.txt") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # PhotoRec / TestDisk - Write-Host "Extracting: PhotoRec / TestDisk" - try { - $ArgumentList = @( - "x", "$Temp\testdisk64.zip", "-o$Build\bin\amd64\TestDisk", - "-aoa", "-bso0", "-bse0", "-bsp0") - # Remove destination since Move-Item -Force can't handle this recursive merge - Remove-Item "$Build\bin\amd64\TestDisk" -Recurse -Force 2>&1 | Out-Null - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Move-Item "$Build\bin\amd64\TestDisk\testdisk-7.1-WIP\*" "$Build\bin\amd64\TestDisk" -Force - Remove-Item "$Build\bin\amd64\TestDisk\testdisk-7.1-WIP" -Recurse -Force - $ArgumentList = @( - "x", "$Temp\testdisk32.zip", "-o$Build\bin\x86\TestDisk", - "-aoa", "-bso0", "-bse0", "-bsp0") - # Remove destination since Move-Item -Force can't handle this recursive merge - Remove-Item "$Build\bin\x86\TestDisk" -Recurse -Force 2>&1 | Out-Null - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Move-Item "$Build\bin\x86\TestDisk\testdisk-7.1-WIP\*" "$Build\bin\x86\TestDisk" -Force - Remove-Item "$Build\bin\x86\TestDisk\testdisk-7.1-WIP" -Recurse -Force - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # Prime95 - Write-Host "Extracting: Prime95" - try { - $ArgumentList = @( - "x", "$Temp\prime95_64.zip", "-o$Build\bin\amd64\Prime95", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\prime95_32.zip", "-o$Build\bin\x86\Prime95", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # ProduKey - try { - $ArgumentList = @( - "x", "$Temp\produkey64.zip", "-o$Build\bin\amd64\ProduKey", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\produkey32.zip", "-o$Build\bin\x86\ProduKey", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # Python (x64) - Write-Host "Extracting: Python (x64)" - try { - $ArgumentList = @( - "x", "$Temp\python64.zip", "-o$Build\bin\amd64\python", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\psutil64.whl", "-o$Build\bin\amd64\python", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - try { - Copy-Item -Path "$HostSystem32\vcruntime140.dll" -Destination "$Build\bin\amd64\python\vcruntime140.dll" -Force - } - catch { - Write-Host (" ERROR: Failed to copy Visual C++ Runtime DLL." ) -ForegroundColor "Red" - } - - # Python (x32) - Write-Host "Extracting: Python (x32)" - try { - $ArgumentList = @( - "x", "$Temp\python32.zip", "-o$Build\bin\x86\python", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\psutil32.whl", "-o$Build\bin\x86\python", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - try { - Copy-Item -Path "$HostSysWOW64\vcruntime140.dll" -Destination "$Build\bin\x86\python\vcruntime140.dll" -Force - } - catch { - Write-Host (" ERROR: Failed to copy Visual C++ Runtime DLL." ) -ForegroundColor "Red" - } - - # Q-Dir - Write-Host "Extracting: Q-Dir" - try { - $ArgumentList = @( - "x", "$Temp\qdir64.zip", "-o$Build\bin\amd64", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - Move-Item "$Build\bin\amd64\Q-Dir\Q-Dir_x64.exe" "$Build\bin\amd64\Q-Dir\Q-Dir.exe" -Force - $ArgumentList = @( - "x", "$Temp\qdir32.zip", "-o$Build\bin\x86", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # VirtIO Drivers - Write-Host "Extracting: VirtIO Drivers" - try { - $ArgumentList = @( - "e", "$Temp\virtio-win.iso", "-o$Build\Drivers\amd64\VirtIO", - "-aoa", "-bso0", "-bse0", "-bsp0", - "*\w10\amd64\*") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "e", "$Temp\virtio-win.iso", "-o$Build\Drivers\x86\VirtIO", - "-aoa", "-bso0", "-bse0", "-bsp0", - "*\w10\x86\*") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - # wimlib-imagex - try { - $ArgumentList = @( - "x", "$Temp\wimlib64.zip", "-o$Build\bin\amd64\wimlib", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @( - "x", "$Temp\wimlib32.zip", "-o$Build\bin\x86\wimlib", - "-aoa", "-bso0", "-bse0", "-bsp0") - Start-Process -FilePath $SevenZip -ArgumentList $ArgumentList -NoNewWindow -Wait - } - catch { - Write-Host (" ERROR: Failed to extract files." ) -ForegroundColor "Red" - } - - ## Cleanup ## - if (Ask-User "Delete temp files?") { - Remove-Item "$Temp" -Recurse - } - } + ## Download Sources ## + Download-SourceFiles + Extract-SourceFiles ## Build ## - foreach ($Arch in @("amd64", "x86")) { - $Drivers = "$Build\Drivers\$Arch" - $Mount = "$Build\Mount" - $PEFiles = "$Build\PEFiles\$Arch" - # Copy WinPE files - Write-Host "Copying files..." - $Cmd = ("{0}\copype.cmd" -f $Env:WinPERoot) - Start-Process -FilePath $Cmd -ArgumentList @($Arch, $PEFiles) -NoNewWindow -Wait + # Copy WinPE files + Write-Host "Copying files..." + $Cmd = ("{0}\copype.cmd" -f $Env:WinPERoot) + Start-Process -FilePath $Cmd -ArgumentList @($Arch, $TargetDir) -NoNewWindow -Wait - # Remove unwanted items - foreach ($SubDir in @("media", "media\Boot", "media\EFI\Microsoft\Boot")) { - foreach ($Item in Get-ChildItem "$PEFiles\$SubDir") { - if ($Item.Name -inotmatch "^(boot|efi|en-us|sources|fonts|resources|bcd|memtest)") { - Remove-Item -Path $Item.FullName -Recurse -Force - } + # Remove unwanted items + foreach ($SubDir in @("media", "media\Boot", "media\EFI\Microsoft\Boot")) { + foreach ($Item in Get-ChildItem "$TargetDir\$SubDir") { + if ($Item.Name -inotmatch "^(boot|efi|en-us|sources|fonts|resources|bcd|memtest)") { + Remove-Item -Path $Item.FullName -Recurse -Force } } - - # Mount image - Write-Host "Mounting image..." - New-Item -Path $Mount -ItemType "directory" -Force | Out-Null - Mount-WindowsImage -Path $Mount -ImagePath "$PEFiles\media\sources\boot.wim" -Index 1 -LogPath "$LogDir\DISM.log" - - # Add drivers - Add-WindowsDriver -Path $Mount -Driver $Drivers -Recurse -LogPath "$LogDir\DISM.log" - - # Add packages - Write-Host "Adding packages:" - $WinPEPackages = @( - "WinPE-EnhancedStorage", - "WinPE-FMAPI", - "WinPE-WMI", - "WinPE-SecureStartup" - ) - foreach ($Package in $WinPEPackages) { - $PackagePath = ("{0}\{1}\WinPE_OCs\{2}.cab" -f $Env:WinPERoot, $Arch, $Package) - Write-Host " $Package..." - Add-WindowsPackage –PackagePath $PackagePath –Path $Mount -LogPath "$LogDir\DISM.log" - $LangPackagePath = ("{0}\{1}\WinPE_OCs\en-us\{2}_en-us.cab" -f $Env:WinPERoot, $Arch, $Package) - if (Test-Path $LangPackagePath) { - Add-WindowsPackage –PackagePath $LangPackagePath –Path $Mount -LogPath "$LogDir\DISM.log" - } - } - - # Set RamDisk size - $ArgumentList = @( - ('/Image:"{0}"' -f $Mount), - "/Set-ScratchSpace:512", - ('/LogPath:"{0}\DISM.log"' -f $LogDir) - ) - Start-Process -FilePath $DISM -ArgumentList $ArgumentList -NoNewWindow -Wait - - # Add tools - Write-Host "Copying tools..." - Copy-Item -Path "$Build\bin\$Arch" -Destination "$Mount\.bin" -Recurse -Force - Copy-Item -Path "$Root\.pe_items\_include\*" -Destination "$Mount\.bin" -Recurse -Force - if ($Arch -eq "amd64") { - $DestIni = "$Mount\.bin\HWiNFO\HWiNFO64.INI" - } else { - $DestIni = "$Mount\.bin\HWiNFO\HWiNFO32.INI" - } - Move-Item -Path "$Mount\.bin\HWiNFO\HWiNFO.INI" -Destination $DestIni -Force - Copy-Item -Path "$Root\Images\WinPE.jpg" -Destination "$Mount\.bin\ConEmu\ConEmu.jpg" -Recurse -Force - Copy-Item -Path "$Bin\Scripts" -Destination "$Mount\.bin\Scripts" -Recurse -Force - Copy-Item -Path "$Build\main.py" -Destination "$Mount\.bin\Scripts\settings\main.py" -Force - - # Add System32 items - $HostSystem32 = "{0}\System32" -f $Env:SystemRoot - Copy-Item -Path "$Root\.pe_items\System32\*" -Destination "$Mount\Windows\System32" -Recurse -Force - $ArgumentList = @("/f", "$Mount\Windows\System32\winpe.jpg", "/a") - Start-Process -FilePath "$HostSystem32\takeown.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @("$Mount\Windows\System32\winpe.jpg", "/grant", "Administrators:F") - Start-Process -FilePath "$HostSystem32\icacls.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait - Copy-Item -Path "$Root\Images\WinPE.jpg" -Destination "$Mount\Windows\System32\winpe.jpg" -Recurse -Force - - # Load registry hives - Write-Host "Updating Registry..." - $Reg = "$HostSystem32\reg.exe" - $ArgumentList = @("load", "HKLM\WinPE-SW", "$Mount\Windows\System32\config\SOFTWARE") - Start-Process -FilePath $Reg -ArgumentList $ArgumentList -NoNewWindow -Wait - $ArgumentList = @("load", "HKLM\WinPE-SYS", "$Mount\Windows\System32\config\SYSTEM") - Start-Process -FilePath $Reg -ArgumentList $ArgumentList -NoNewWindow -Wait - - # Add tools to path - ## .NET code to properly handle REG_EXPAND_SZ values - ## Credit: https://www.sepago.com/blog/2013/08/22/reading-and-writing-regexpandsz-data-with-powershell - ## By: Marius Gawenda - $Hive = [Microsoft.Win32.Registry]::LocalMachine - $RegPath = "WinPE-SYS\ControlSet001\Control\Session Manager\Environment" - $RegKey = $Hive.OpenSubKey($RegPath) - $CurValue = $RegKey.GetValue( - "Path", $false, [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames) - $NewValue = "$CurValue;%SystemDrive%\.bin\7-Zip;%SystemDrive%\.bin\python;%SystemDrive%\.bin\wimlib" - Set-ItemProperty -Path "HKLM:\$RegPath" -Name "Path" -Value $NewValue -Force | Out-Null - $Hive.close() - $RegKey.close() - - # Replace Notepad - $RegPath = "HKLM:\WinPE-SW\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" - $NewValue = 'cmd /c "%SystemDrive%\.bin\NotepadPlusPlus\npp.cmd"' - New-Item -Path $RegPath -Force | Out-Null - New-ItemProperty -Path $RegPath -Name "Debugger" -Value $NewValue -Force | Out-Null - - # Run garbage collection to release potential stale handles - ## Credit: https://jrich523.wordpress.com/2012/03/06/powershell-loading-and-unloading-registry-hives/ - Start-Sleep -Seconds 2 - [gc]::collect() - - # Unload registry hives - Start-Sleep -Seconds 2 - Start-Process -FilePath $Reg -ArgumentList @("unload", "HKLM\WinPE-SW") -NoNewWindow -Wait - Start-Process -FilePath $Reg -ArgumentList @("unload", "HKLM\WinPE-SYS") -NoNewWindow -Wait - - # Unmount image - Write-Host "Dismounting image..." - Dismount-WindowsImage -Path $Mount -Save -LogPath "$LogDir\DISM.log" - - # Create ISO - New-Item -Type Directory "$Root\OUT_PE" 2>&1 | Out-Null - $ArgumentList = @("/iso", $PEFiles, "$Root\OUT_PE\$KitNameShort-WinPE-$Date-$Arch.iso") - $Cmd = "{0}\MakeWinPEMedia.cmd" -f $Env:WinPERoot - Start-Process -FilePath $Cmd -ArgumentList $ArgumentList -NoNewWindow -Wait } + # Mount image + Write-Host "Mounting image..." + New-Item -Path $MountDir -ItemType "directory" -Force | Out-Null + Mount-WindowsImage -Path $MountDir -ImagePath "$TargetDir\media\sources\boot.wim" -Index 1 + + # Add drivers + Write-Host "Adding drivers..." + Add-WindowsDriver -Path $MountDir -Driver "$SetupDir\pe\drivers" -ForceUnsigned -Recurse + + # Add packages + Write-Host "Adding packages..." + $WinPEPackages = @( + "WinPE-EnhancedStorage", + "WinPE-FMAPI", + "WinPE-WMI", + "WinPE-SecureStartup" + ) + foreach ($Package in $WinPEPackages) { + $PackagePath = ("{0}\{1}\WinPE_OCs\{2}.cab" -f $Env:WinPERoot, $Arch, $Package) + Write-Host " $Package..." + Add-WindowsPackage –PackagePath $PackagePath –Path $MountDir + $LangPackagePath = ("{0}\{1}\WinPE_OCs\en-us\{2}_en-us.cab" -f $Env:WinPERoot, $Arch, $Package) + if (Test-Path $LangPackagePath) { + Add-WindowsPackage –PackagePath $LangPackagePath –Path $MountDir + } + } + + # Set RamDisk size + $ArgumentList = @( + ('/Image:"{0}"' -f $MountDir), + "/Set-ScratchSpace:512" + ) + Start-Process -FilePath $DISM -ArgumentList $ArgumentList -NoNewWindow -Wait + + # Add tools + Write-Host "Copying tools..." + Copy-Item -Path "$BuildDir\additions\*" -Destination $MountDir -Recurse -Force + Copy-Item -Path "$RootDir\Images\WinPE.jpg" -Destination "$MountDir\Program Files\ConEmu\ConEmu.jpg" -Recurse -Force + + # Add System32 items + $ArgumentList = @("/f", "$MountDir\Windows\System32\winpe.jpg", "/a") + Start-Process -FilePath "$HostSystem32\takeown.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait + $ArgumentList = @("$MountDir\Windows\System32\winpe.jpg", "/grant", "Administrators:F") + Start-Process -FilePath "$HostSystem32\icacls.exe" -ArgumentList $ArgumentList -NoNewWindow -Wait + Copy-Item -Path "$RootDir\Images\WinPE.jpg" -Destination "$MountDir\Windows\System32\winpe.jpg" -Force + + # Load registry hives + Write-Host "Updating Registry..." + $Reg = "$HostSystem32\reg.exe" + $ArgumentList = @("load", "HKLM\WinPE-SW", "$MountDir\Windows\System32\config\SOFTWARE") + Start-Process -FilePath $Reg -ArgumentList $ArgumentList -NoNewWindow -Wait + $ArgumentList = @("load", "HKLM\WinPE-SYS", "$MountDir\Windows\System32\config\SYSTEM") + Start-Process -FilePath $Reg -ArgumentList $ArgumentList -NoNewWindow -Wait + + # Configure CMD (command aliases "DOSKEY Macros" and tab completion) + $RegPath = "HKLM:\WinPE-SW\Microsoft\Command Processor" + $NewValue = "doskey /macrofile=X:\Windows\System32\custom.doskey" + New-Item -Path $RegPath -Force | Out-Null + New-ItemProperty -Path $RegPath -Name "AutoRun" -Value $NewValue -Force | Out-Null + New-ItemProperty -Path $RegPath -Name "CompletionChar" -Value 9 -Type DWord -Force | Out-Null + New-ItemProperty -Path $RegPath -Name "PathCompletionChar" -Value 9 -Type DWord -Force | Out-Null + + # Add tools to path + ## .NET code to properly handle REG_EXPAND_SZ values + ## Credit: https://www.sepago.com/blog/2013/08/22/reading-and-writing-regexpandsz-data-with-powershell + ## By: Marius Gawenda + $Hive = [Microsoft.Win32.Registry]::LocalMachine + $RegPath = "WinPE-SYS\ControlSet001\Control\Session Manager\Environment" + $RegKey = $Hive.OpenSubKey($RegPath) + $CurValue = $RegKey.GetValue( + "Path", $false, [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames) + $NewValue = "$CurValue;%ProgramFiles%\7-Zip;%ProgramFiles%\wimlib" + Set-ItemProperty -Path "HKLM:\$RegPath" -Name "Path" -Value $NewValue -Force | Out-Null + $Hive.close() + $RegKey.close() + + # Replace Notepad + $RegPath = "HKLM:\WinPE-SW\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" + $NewValue = 'cmd /c "%ProgramFiles%\NotepadPlusPlus\npp.cmd"' + New-Item -Path $RegPath -Force | Out-Null + New-ItemProperty -Path $RegPath -Name "Debugger" -Value $NewValue -Force | Out-Null + + # Run garbage collection to release potential stale handles + ## Credit: https://jrich523.wordpress.com/2012/03/06/powershell-loading-and-unloading-registry-hives/ + Start-Sleep -Seconds 2 + [gc]::collect() + + # Unload registry hives + Start-Sleep -Seconds 2 + Start-Process -FilePath $Reg -ArgumentList @("unload", "HKLM\WinPE-SW") -NoNewWindow -Wait + Start-Process -FilePath $Reg -ArgumentList @("unload", "HKLM\WinPE-SYS") -NoNewWindow -Wait + + # Unmount image + Write-Host "Dismounting image..." + Dismount-WindowsImage -Path $MountDir -Save + + # Rebuild image + Write-Host "Recompressing image..." + Move-Item "$TargetDir\media\sources\boot.wim" "$TargetDir\media\sources\boot-edited.wim" + Export-WindowsImage -DestinationImagePath "$TargetDir\media\sources\boot.wim" -SourceImagePath "$TargetDir\media\sources\boot-edited.wim" -SourceIndex 1 -CompressionType Max + Remove-Item -Path "$TargetDir\media\sources\boot-edited.wim" -Force + + # Create ISO + New-Item -Type Directory "$SetupDir\OUT_PE" 2>&1 | Out-Null + $ArgumentList = @("/iso", $TargetDir, "$SetupDir\OUT_PE\$KitNameShort-WinPE-$Date-$Arch.iso", "/f") + $Cmd = "{0}\MakeWinPEMedia.cmd" -f $Env:WinPERoot + Start-Process -FilePath $Cmd -ArgumentList $ArgumentList -NoNewWindow -Wait + ## Cleanup ## - Remove-Item -Path "$Build\Mount" -Recurse -Force - Remove-Item -Path "$Build\PEFiles" -Recurse -Force + Remove-Item -Path "$MountDir" -Recurse -Force ## Done ## Pop-Location Write-Host "`nDone." WKPause "Press Enter to exit... " } + diff --git a/setup/pe/drivers/README.md b/setup/pe/drivers/README.md new file mode 100644 index 00000000..41b746f8 --- /dev/null +++ b/setup/pe/drivers/README.md @@ -0,0 +1,4 @@ +# WizardKit: WinPE - Drivers # + +All drivers added to this folder will be injected into the WinPE image (recursively) + diff --git a/setup/pe/sources.json b/setup/pe/sources.json new file mode 100644 index 00000000..cd44037d --- /dev/null +++ b/setup/pe/sources.json @@ -0,0 +1,32 @@ +[ + { + "Item": "7-Zip", + "Hash": "eb94db7341e59f1871a4d4f60165563f1881e33aef093b7d8427651c2a0f4b6f", + "Name": "7z.msi", + "Url": "https://www.7-zip.org/a/7z2407-x64.msi" + }, + { + "Item": "ConEmu", + "Hash": "2a9b98ebecaede62665ef427b05b3a5ccdac7bd3202414fc0f4c10825b4f4ea2", + "Name": "ConEmu.7z", + "Url": "https://github.com/Maximus5/ConEmu/releases/download/v23.07.24/ConEmuPack.230724.7z" + }, + { + "Item": "Notepad++", + "Hash": "ef9b63b1f5f06ffa3d5fbed698f57c4dfb2f2ac88c340f0fd1dbad0c3ef8a524", + "Name": "npp.7z", + "Url": "https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.6.7/npp.8.6.7.portable.minimalist.x64.7z" + }, + { + "Item": "NTPWEdit", + "Hash": "ca832bd62d8eb38541db1108054d1b4b52869837470ee770c39c2a5bea973e31", + "Name": "ntpwedit.zip", + "Url": "http://cdslow.org.ru/files/ntpwedit/ntpwed07.zip" + }, + { + "Item": "wimlib", + "Hash": "6d99e242bfbc6d36fc987d433d63772180551b7f2d8de43e9561535a3e2c16d8", + "Name": "wimlib.zip", + "Url": "https://wimlib.net/downloads/wimlib-1.14.4-windows-x86_64-bin.zip" + } +]