WizardKit/make.cmd
2017-11-24 20:47:02 -08:00

100 lines
No EOL
3.4 KiB
Batchfile

@echo off
:Init
setlocal EnableDelayedExpansion
title WinPE 10 creation tool
color 1b
pushd %~dp0
set "winpe_ocs=%programfiles(x86)%\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs"
:Flags
for %%f in (%*) do (
if /i "%%f" == "/DEBUG" (@echo on)
)
:CopyPEFiles
call copype.cmd amd64 "%cd%\wd"
:Mount
rem echo Press any key to configure the WinPE image...
rem pause>nul
mkdir "%cd%\mount"
dism /mount-image /imagefile:"%cd%\wd\media\sources\boot.wim" /index:1 /mountdir:"%cd%\mount"
:AddPackages
:: More info: https://msdn.microsoft.com/en-us/library/windows/hardware/dn938382(v=vs.85).aspx
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-FMAPI.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-WMI.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\en-us\WinPE-WMI_en-us.cab"
:: Install WinPE-WMI before you install WinPE-NetFX.
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-NetFx.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\en-us\WinPE-NetFx_en-us.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-Scripting.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\en-us\WinPE-Scripting_en-us.cab"
:: Install WinPE-WMI > WinPE-NetFX > WinPE-Scripting before you install WinPE-PowerShell.
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-PowerShell.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\en-us\WinPE-PowerShell_en-us.cab"
:: Install WinPE-WMI > WinPE-NetFX > WinPE-Scripting > WinPE-PowerShell before you install WinPE-DismCmdlets.
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-DismCmdlets.cab"
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\en-us\WinPE-DismCmdlets_en-us.cab"
:: Install WinPE-WMI > WinPE-NetFX > WinPE-Scripting > WinPE-PowerShell before you install WinPE-SecureBootCmdlets.
dism /add-package /image:"%cd%\mount" /packagepath:"%winpe_ocs%\WinPE-SecureBootCmdlets.cab"
:Robocopy
del "%cd%\WK\Scripts\WK.log"
mkdir "%cd%\mount\WK"
robocopy /e "%cd%\WK" "%cd%\mount\WK"
:MenuLauncher
copy /y "%cd%\System32\menu.cmd" "%cd%\mount\Windows\System32\menu.cmd"
:ReplaceStartnet
copy /y "%cd%\System32\startnet.cmd" "%cd%\mount\Windows\System32\startnet.cmd"
:ReplaceNotepad
reg load HKLM\WinPE-SW mount\Windows\System32\config\SOFTWARE
reg add "HKLM\WinPE-SW\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v Debugger /t REG_SZ /d "X:\WK\Notepad2.exe /z" /f
reg add "HKLM\WinPE-SW\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe" /v Debugger /t REG_SZ /d "X:\WK\Explorer++.exe /z" /f
reg unload HKLM\WinPE-SW
:Background
takeown /f "%cd%\mount\Windows\System32\winpe.jpg" /a
icacls "%cd%\mount\Windows\System32\winpe.jpg" /grant administrators:F
copy /y "%cd%\System32\winpe.jpg" "%cd%\mount\Windows\System32\winpe.jpg"
:ManualStuff
echo Now is the time to add stuff (optional).
echo.
echo Press any key to commit changes...
pause>nul
:Unmount
dism /unmount-image /mountdir:"%cd%\mount" /commit
:CreateISO
del winpe10-test.iso
makewinpemedia.cmd /iso wd winpe10-test.iso
goto Done
:Abort
echo.
echo Aborted.
goto Exit
:Done
echo.
echo Done.
goto Exit
:Exit
echo.
echo Press any key to exit...
pause>nul
popd
color
endlocal