Manage Learn to apply best practices and optimize your operations.

Create a Custom ISO for Windows 10 -- Part 3 of 6

By Kari the Finn, guest blogger for Ed Tittel, courtesy of

Note: this blog is Part 3 in a series of 6 parts on the topic of using Sysprep to craft a custom ISO for use in installing Windows 10, aimed at the upcoming Creator’s Update scheduled to become available in mid to late April. Your guest blogger for this series is Kari the Finn, well-known Windows Install expert at He’s the person who put tools together (ESD2ISO and UUP2ISO) that let savvy installers convert Windows OS download files into ISO images that may be used to create bootable installation optical media or USB Flash Drives. Part 1 covered the intro, and Part 2 started users with installation prep; here’s part 3.

Step 2: Update and Customize Windows, Install Software

This blog post is Part 3 in a 6-part series devoted to creating a Custom ISO for the Windows 10 Creator’s Update (coming sometime in April). The topic for this post is the second step in a 5-step process to customize and create a Windows 10 ISO that includes not just the OS, but also the additional software and personalization you want your deployed systems to possess. As the title for this blog post says, the topic in this part of the series covers updating and customizing Windows, and installing additional third-party software.

When Windows installation is done and the final setup (OOBE, or “out of box experience”) starts, it stops to let you to select the region. Instead of doing that – that is, instead of selecting your country or region — press CTRL + SHIFT +F3 (press and hold down CTRL and SHIFT keys, press F3, release all keys).

Windows will now interrupt its normal setup. It will restart in Audit Mode, a special customization mode for Windows. Because no user accounts have been created yet Windows signs you in to Audit Mode using the built-in administrator account. A visible tell-tale to show you have booted to Audit Mode is a Sysprep prompt shown in the middle of the display. Click Cancel to close it. Change the display resolution if the default 1024 * 768 is too small for you to work in.

You can now install your software and update Windows. Do not run any programs! Thus, if for example the installer shows Run this application now selected in a final prompt, unselect it and close that installer. Do not install any hardware drivers: even those automatically installed by Windows Update will be removed later. If any installer or update requires a restart, do it. Windows will return to Audit Mode after restart. Notice that in case you want to download software you must use Internet Explorer. Edge and other Windows UWP apps do not work in Audit Mode because you are signed in using built-in administrator account (it doesn’t support their use). To open IE press WIN + R to open Run dialog, type iexplore and press Enter.

Import the Deployment Assets you prepared while Windows was installing on your technician machine. If you saved assets on OneDrive as I suggested, use IE to browse over to and sign into your OneDrive account. Download oemlogo.bmp file , and save it to the C:\Windows\System32 folder. Do likewise for the answer file unattend.xml, and save it to the C:\Windows\System32\Sysprep folder. It is important for you use these filenames exactly as shown, and to save them to the folders specified. Do not rename these two files! Otherwise your unattended install won’t work.

Customizing the Installed Image

The Windows themes you prepared need not be saved. Using IE, select a theme on OneDrive and instead of saving it select Open to apply it to the technician machine. Because Windows is not activated in Audit Mode you cannot use personalization options (themes, colors and so on). Thus, applying an imported theme is your only means to customize theme and desktop appearance.

Open File Explorer and customize it as you like. You can adjust icon size, hide or show the Ribbon, show item selection boxes, show Details or Preview pane, show Libraries in Navigation pane and so on. [TenForums has a whole tutorial section on this called “File and Folder Settings,” where all this and more is explained.]

If you like, you can also customize the Start, pin and unpin tiles. Notice that in Audit Mode most Start tiles are not populated, and simply show a down arrow. However, when your image is deployed Start will work fine for new users.

I myself prefer customizing Start, then exporting the Start layout to a file using PowerShell. The following PowerShell command exports your current Start layout to the file named C:\Windows\System32\MyStart.xml:

Export-StartLayout C:\Windows\System32\MyStart.xml

When you’ve exported the file, next open the Group Policy Editor (WIN + R, type gpedit.msc). The Group Policy Editor is not available in Home and Single language Windows 10 editions. Browse to Local Computer Policy > Administrative Templates > Start Menu and Taskbar in the left-hand pane, then double click Start Layout on the right-hand pane.

There you want to enable policy. To do that, enter C:\Windows\System32\MyStart.xml as Start Layout File, then click OK to save that policy.

This policy forces your customized Start layout to be used in each user account.

Two batch files are still missing from our customization. Both of them run once each time a new user signs in for the first time. The first file resets File Explorer’s Recent Files and Quick Access. To build this file, type or Copy & Paste the following two lines into a new Notepad text file:

echo Y | del %appdata%\microsoft\windows\recent\automaticdestinations\*
del %0

This batch file resets Quick Access and then deletes itself (it only exists and runs when a new user signs in for the first time). In Notepad select File > Save As, type %appdata% in the addressbar in the Save As prompt, then press Enter to open AppData\Roaming folder. Browse to the folder named Microsoft\Windows\Start Menu\Programs\Startup. Save the file as RunOnce.bat , and select Save As type: All files in Notepad’s Save As prompt.

The second batch file is a Visual Basic Script (.vbs file). Its purpose is to greet a new user the first time he or she signs in, after which it deletes itself. This file is optional, but it is something I include in my customized images (I do understand that some readers will consider this a wasted gesture; skip it if you’re so inclined). Type or Copy & Paste the following text into a new Notepad text file:

Dim WshShell, Welcome
Set WshShell = WScript.CreateObject("WScript.Shell")

Welcome = WshShell.Popup("Welcome to customised Windows 10 with pre-installed software.", 60, "Windows 10", vbOKOnly)

Select Case Welcome
case 1
MsgBox "Following software has been installed: Office 365 (2016), Adobe reader, VLC Player, Chrome, Firefox and Opera. You will also find some pre-installed themes in Settings > Personalize > Themes.", vbOKOnly, "Windows 10"
End Select

MsgBox "Have Fun with Windows 10!", vbOKOnly, "Windows 10"

Function DeleteScript()
Set objFSO = CreateObject("Scripting.FileSystemObject")
strScript = Wscript.ScriptFullName
End Function

Save this file as Welcome.vbs to same folder where you saved RunOnce.bat. Again, select the Save As type: All files option in Notepad’s Save As prompt.

If you like, both the unattend.xml and Welcome.vbs files can also be prepared on the host while Windows is installing and saved into your Deployment assets folder, then imported together with other assets to the technician machine.

This concludes part 3 of this 6-part blog post, in which I explain how to customize and maintain a Windows 10 ISO for easy installation. Parts 1 (the introduction) and 2 (Update and Customize Windows, Install Software) have already been posted, and Part 3 (Generalize Your Windows Image with Sysprep) will follow on Monday.

Links to All Series Parts (1-6)

Part 1: Introduction & Overview
Part 2: Install Windows and Prepare Assets
Part 3: Update and Customize Windows, Install Software
Part 4: Generalize Custom Windows Image with Sysprep
Part 5: Capture Custom Windows Image, Create ISO
Part 6: Update/Change Custom Windows ISO