MakePE: Building WinPE 10

So its time to build out WinPE 10.  Hopefully you will have ADK for Windows 10 installed, and you have all your settings in check.

Double click on Example WinPE 10 x86.cmd to get started.  One of the first things to note is that we get a warning in the CMD Window that we didn’t do Run As Administrator.  It is important because it allows us to check to make sure that everything in the Log is configured properly before we really get started.


Looking at the Log in more detail, we can see at the very end we get our Warnings, so we know what happened in the Log file.

	MakePE Version:  	20150804
MakePE Directory Information:
	MakePE Directory:  	D:\Deploy\MakePE
	MakePE Builds:  	D:\Deploy\MakePE\Builds
	MakePE Components:  	D:\Deploy\MakePE\Components
	MakePE Optional:  	D:\Deploy\MakePE\Optional
	MakePE Scripts:  	D:\Deploy\MakePE\Scripts
Microsoft Deployment Toolkit Installation Status:
	MDT Install Directory:  Not Found
	Install-MDT will be set to False because the MDT Install Directory was not found
	MDT Deployment Share:  	Not Found
	Install-MDT will be set to False because the MDT Deploy Root was not found
AIK and ADK Installation Status:
	Windows 7 AIK:		D:\Deploy\MakePE\Components\Windows AIK
	Windows 8.1 ADK:	D:\Deploy\MakePE\Components\Windows Kits\8.1
	Windows 10 ADK:		D:\Deploy\MakePE\Components\Windows Kits\10
WinPE Source Status:
	WinPE Version:  	10 
	WinPE Platform:  	x86
	WinPE Architecture:  	x86
	WinPE Language:  	en-us
	WinPE WIM:   		D:\Deploy\MakePE\Components\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\en-us\winpe.wim
	WinPE Type:  		WinPE
WinPE Mount and Build Status:
	WIM Mount Directory:  	C:\Users\ADMINI~1\AppData\Local\Temp\WinPE
	WIM Temp:   		D:\Deploy\MakePE\Builds\TEMP WinPE 10 x86 WinPE.wim
	WIM BasePE:   		D:\Deploy\MakePE\Builds\WIMBasePE\WinPE 10 x86 WinPE.wim
	WIM WinPE:   		D:\Deploy\MakePE\Builds\WIMWinPE\WinPE 10 x86 WinPE.wim
ISO Status:
	ISO Supporting Files:				D:\Deploy\MakePE\Builds\ISO\Support
	ISO Source Directory:				D:\Deploy\MakePE\Builds\ISO\WinPE10x86
	ISO Source WIM:					D:\Deploy\MakePE\Builds\WIMWinPE\WinPE 10 x86 WinPE.wim
	ISO Destination WIM:				D:\Deploy\MakePE\Builds\ISO\WinPE10x86\Sources\Boot.wim
	ISO Destination (ISODestination):		D:\Deploy\MakePE\Builds\WinPE 10 x86 WinPE.iso
	ISO Label (ISOLabel):				WinPE 10 x86
	SuperISO Source Directory:			D:\Deploy\MakePE\Builds\ISO\SuperISO
	SuperISO Destination (SuperISODestination):	D:\Deploy\MakePE\Builds\WinPE SuperISO.iso
	SuperISO Label (SuperISOLabel):			WinPE SuperISO
Windows Kit Status:
	Windows Kit:  		D:\Deploy\MakePE\Components\Windows Kits\10
	CABS:  			D:\Deploy\MakePE\Components\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs
	dism.exe:  		D:\Deploy\MakePE\Components\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\AMD64\DISM\dism.exe
	imagex.exe:  		D:\Deploy\MakePE\Components\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\AMD64\DISM\imagex.exe
	oscdimg.exe:  		D:\Deploy\MakePE\Builds\ISO\Support\WinPE10x86\oscdimg.exe  		D:\Deploy\MakePE\Builds\ISO\Support\WinPE10x86\
	efisys.bin:  		D:\Deploy\MakePE\Builds\ISO\Support\WinPE10x86\efisys.bin
MakePE Options:
	DoPause:		Yes
	ScratchSpace:		256
	TimeZone:		Central Standard Time
	Install-DaRT:		Yes
	Install-Defender:	Yes
	Install-MDT:		No
	Install-Drivers:	No
	Add-ExtraFiles:		Yes
	Add-ExtraFilesISO:	Yes
Package Options:
	Install-Packages:	Yes
	WinPE-HTA:		Yes
	WinPE-Scripting:	Yes
	WinPE-WMI:		Yes
	WinPE-SecureStartup:	Yes
	WinPE-FMAPI:		Yes
	WinPE-MDAC:		Yes
	WinPE-Dot3Svc:		Yes
	WinPE-PPPoE:		Yes
	WinPE-RNDIS:		Yes
	WinPE-WDS-Tools:	Yes
	WinPE-NetFx:		Yes
	WinPE-PowerShell:	Yes
	WinPE-DismCmdlets:	Yes
	WinPE-StorageWMI:	Yes
	WinPE-EnhancedStorage:	Yes
	WinPE-Rejuv:		Yes
	WinPE-SRT:		Yes
	WinPE-WinReCfg:		Yes

If you ever need to go back and look at the Log later, just go in the MakePE\Build directory.


Now performing a Run As Administrator on the CMD will show that everything is working as intended.  The CMD Window will have a pause.  Simply pressing any key will continue.


The rest of this blog post will detail the steps at every pause


The first step is to make sure we don’t have anything mounted in the WIM Mount Directory.  So don’t be alarmed if you have errors here as this is simply just telling you there was nothing there to unmount anyway



The WIM-Mount pause will happen prior to the WIM being mounted.  As you can see this step is part of MakePE\Scripts\MakePE.cmd.  If everything looks good, press any key to mount and continue.  Ideally this is where you check to make sure that everything unmounted properly.


One you continue, the proper WIM will be mounted


Pausing at the WinPE-Cleanup step gives us an opportunity to see that our Scratch Space and Time Zone were set properly.  This step in particular will address permission changes to winpeshl.ini and Wallpaper files.



This is actually a separate script due to the length, and is found in MakePE\Scripts\Install-Packages.cmd.  This will install all the Mandatory and Optional WinPE Components, and will take some time to complete.  This is a good time to grab a coffee or snack.


You may have overlooked the fact that you control these options in your MySettings.cmd.



Again, a separate script, but since we haven’t added the DaRT files, things won’t work for now.



Again another script which will be discussed in another post, but this section primarily handles wallpaper



One thing to understand is that MakePE will create a BasePE and a final WinPE.  So before the BasePE is created, the pause allows you to check the Mounted WIM before it is unmounted with the /Commit option.  Don’t forget to close the Windows Explorer window after checking your files.



This step is run again after the BasePE is created.


So now that BasePE has been unmounted and saved, it is mounted back.  Nothing to do here except to check to make sure all is well.



This is run again to make sure that our perms are proper


This second no workie for now.  I am not sure if I plan to leave this in the final release.


A separate script to install Extra Files to the WIM which will be discussed in a later post.



This script will handle the Wallpaper and adds some CMD files to WinPE for Reboot, Restart, and Shutdown.



Before WinPE is sealed up, a final pause and Windows Explorer opens to allow you to validate everything looks good.  Again, don’t forget to close Windows Explorer



The remainder of the steps use a separate script to create the ISO


Complete First Run

Once the script is complete, the final ISO will be in the Builds directory ready to test.


And this is what WinPE 10 looks like bare bones without MDT.  Looks good!