Creating Customized Windows 10 Version 1703 Media (ISO, WIM, Flash Drive)

It’s April 2017 and Microsoft has just released their fourth update / “version” of Windows 10 – externally referred to as the “Creators Update”. Since I haven’t updated my “How To” on creating customized Windows media since Windows 8.1, I think we’re overdue for a follow up. So let’s get into it!

I’ll preface this article by saying that Microsoft has made this effort much simpler since 2014 (when my original write up went live). Not only do we now (natively) support split wims, we’re not obligated to utilize the MDT (Microsoft Deployment Toolkit) if we choose not to (not that there’s anything wrong with using MDT if you’d rather).

For this walk through, I will be detailing the steps I personally use. Please note that there are multiple ways to achieve the same end goal. I have, however, successfully used this method for the last four years without issue – deploying across thousands of computers within the organization I work for (and of course at home as well).

Acquiring the necessary Tools

  • Download the Windows ISO for which you are creating custom media. In my case, I’m downloading “en_windows_10_enterprise_version_1703_updated_march_2017_x64_dvd_10189290.iso” from MSDN.
  • Download the Windows Assessment and Deployment Kit (ADK) for Windows 10 from here.

Preparing your environment

  • Designate a workstation (physical machine) with Hyper-V capability as the “host” for this project. I’m going to assume your host is running Windows 10 Version 1703 already.
  • Open the Windows ADK for Windows 10 installer.
    • Select and install Deployment Tools and Windows Preinstallation Environment (Windows PE).

  • Enable the Hyper-V Platform and reboot the host.
    To do this, at your desktop type Win+X and click Apps and Features at the top.

  • Select Programs and Features within the settings window

  • Select Turn Windows features on or off

  • Select Hyper-V and Click OK. When prompted, click Restart now.

  • Once rebooted, open the Start Menu and type “Hyper” > Open Hyper-V Manager

  • Select your host (computer name) on the left and then click Virtual Switch Manager… (on the right)

  • Select New virtual network switch on the left and External under the type to create. Click Create Virtual Switch.

  • Name the switch something appropriate (I’m using “Main”).
  • Select External Network > Select your main NIC (wireless or wired).
  • Check Allow management operating system to share this network adapter and click OK.

  • Click Yes on the notice prompt.

Create the Staging VM

  • Now that you’re prepped, within Hyper-V Manager select New > Virtual Machine and then click Next.

  • Type a name for your staging VM (I’m picking stage01) then click Next.

  • Select Generation 2 and then click Next.

  • Enter an appropriate amount of memory (I’m entering 4096 MB), UNselect Dynamic Memory and then click Next.

  • Choose Not Connected for the Connection page (this will prevent Windows 10 from downloading / installing “consumer apps” during initial staging)

  • Designate an adequate amount of storage for your VM (not less than the total GB of all applications you will be installing) and then click Next.

  • Select Install an operating system from a bootable image file > Select Image File (.iso) > Find and select the Windows ISO you downloaded earlier > Click Next > Click Finish.

  • Back at the Hyper-V Manager, right click stage01 and select Connect…
    (This will open the console of the VM.)

  • Navigate to Action and click Start.

  • Press any key to initiate the Windows Setup

  • Install Windows 10 by accepting the EULA and choosing Custom > selecting the entire virtual disk and clicking Next.

Enter Audit Mode and Install Applications

  • Once you’re presented with the Region screen (where you select the country) – STOP.

  • Enter CTRL+SHIFT+F3.
  • Windows will reboot and log you in with the Administrator account.
  • When presented with the System Preparation Tool window, click Cancel.

As I mentioned in my previous articles, Audit Mode is still my favorite method of configuring a customized Windows build before sysprepping. If you are unaware, Audit Mode bypasses OOBE and negates the need of creating a new user account, thus assigning a “Registered Owner” name.  It baffles me how, even in 2017, this feature goes unnoticed and ignored even by Microsoft themselves. Unfortunately it doesn’t work with UWP apps (it never did, to be fair) – however I’ve never found myself needing to customize those applications. In fact, I find myself removing those apps when I can.

Now that we’re in Audit Mode, the first step I do (and recommend!) is disabling the “Consumer Experience” via GPO.

The “Consumer Experience” is the default mode Windows 10 (including Enterprise) is shipped with. This mode, upon initial login of a new user, commences the automatic download of a plethora of (unrequested) UWP apps, thus filling the start menu with games like Candy Crush. I deplore this feature beyond anything Microsoft has done in the past. It cheapens the Windows experience and frankly, I think they should be embarrassed that this is included in their flagship product. Fortunately, this feature can be disabled – but only on Enterprise edition.

To disable this “feature”, open up the Local Group Policy Editor (gpedit.msc) and navigate to Computer Configuration > Administrative Templates > Windows Components > Cloud Content and double click Turn off Microsoft consumer experiences. We will want to Enable this GPO and click OK.

At this point, we can now (safely) enable the Network Interface on this VM.

  • Navigate to File > Settings.. and select Network Adapter on the left. 
  • Change the “Virtual Switch” from Not Connected to (in my case) Main. Click OK to save your changes.

Running Windows Update

If you followed my Windows 8.1 guide, you’ll remember the ridiculous steps that were required to run Windows Update while within Audit Mode. Fortunately, this is no longer the case! Someone at Microsoft must of read this blog ;-). In short, with Windows 10, Microsoft reintroduced the ability to run Windows Update while logged into Audit Mode. This is great news.

So, just as you would do normally, lets jump into the Settings app > Navigate to Update & Security and run Check for updates.

While updates are downloading / installing – I personally like to take this opportunity to tweak a few Windows Update settings. These include:

  • Navigating to advanced options and enabling “Give me updates for other Microsoft products when I update Windows” and also setting my branch to Current Branch for Business.

  • Scrolling down and selecting Choose how updates are delivered
  • Turning ON the feature Updates from more than one place and setting it to PCs on my local network

  • Back at the main Windows Update page, I select Restart Options under Update Settings

  • And within Restart Options I always select On under Show more notifications

At this point of the how-to, I’ve had the opportunity to tweak my Windows Update settings to my liking and Windows was ready to restart.

Upon restart (and installation of the latest Cumulative Update), Windows will automatically log you back into Audit Mode (make sure to click cancel on the sysprep popup again!).

After logging in, double check to confirm that all updates have been installed.

After confirming the OS is fully up to date, now is the time to make any tweaks and install all applications that you want embedded into your custom Windows build.

  • Examples:
    * Remove UWP Apps
    * Enable RDP
    * Install Chrome, VLC, Skype, Office, etc.

As mentioned previously, I’m not the biggest fan of these UWP additions to Windows. Some apps I find useful (like the Weather app), while others I find to be redundant and a waste of space (Mail, Calendar – these are useless if you use Outlook). Additionally, I couldn’t care less about a 3D Builder app. Because of this, I have done the hard work for you and generated two groups of Powershell commands that need to be ran (as admin) – and after doing so, all non-essential UWP apps will be removed. Note: these apps can be redownloaded via the Windows Store if desired, but they will not be included in the base Windows install.
Note: it goes without saying, but running these commands is completely optional.

Cleanup and Sysprep

At this stage you have everything customized just the way you like, all your applications are installed and you’re fully updated. Now’s a good time to run Disk Cleanup.

  • Right Click the C: drive and navigate to Properties
    • Click Disk Cleanup

    • Select all items and click OK

  • Once you’ve ran Disk Cleanup, proceed with shutting down your Staging VM.
  • Create a Checkpoint
    Click Action > Checkpoint.. > Enter "Ready for sysprep" > Click Yes
  • Power your Staging VM back on.
  • When logged in, do not close the System Preparation Tool window.
    • Select Enable System Out-of-Box Experience (OOBE)
    • Checkbox Generalize
    • Select Shutdown
    • Click OK

  • Once your VM is shut down, create another Checkpoint named “Complete”.
    Do NOT power your VM back on.

Creating a WIM file

The hard part is done, next comes the fun part: capturing your customizations into an image file. Given you’ve made it this far, I’m going to presume you already know that an OS WIM file is the compressed OS image in a single file. The original Windows install media includes the vanilla install.wim file (located in the sources folder) – but we’re going to be replacing that file with our own. To do this, we need to “capture” the last Checkpoint.

On your host (physical machine), open up Disk Management.
WIN+X > Disk Management

  • Navigate to Action > Attach VHD

  • Click Browse

  • Navigate to the directory where the virtual disks are stored for stage01.
    By default this directory is: C:\Users\Public\Documents\Hyper-V\Virtual hard disks/
  • In the bottom right, change Virtual Disk files (* .vhd, * .vhdx) to All files (* . *)
  • Select the file with the most recent Date Modified – this is your Complete Checkpoint! This file is approximately 4 MB.

  • Click Open
  • Check box Read Only and then click OK.

At this point you will see one new read only disk with three partitions. Make note of the third partition drive letter (in my case, the G: Drive).

  • Open the Command Prompt with Administrator Rights.
    • Start > Type "cmd" > Right Click "Command Prompt" > Run as administrator

    • Type dism /capture-image /imagefile:c:\customInstall.wim /capturedir:G:\ /name:"Windows 10 Enterprise" /Description:"Windows 10 Enterprise" /compress:maximum /checkintegrity /verify /bootable – replacing G: with the third partition drive letter you made note of earlier.

Depending on your processing power, this may take a little while. When complete, you will see “This operation completed successfully.” You should now see a file named “customInstall.wim” at the root of your C:\ Drive.

  • Change Directory to C:\
  • Type Dism /Split-Image /ImageFile:customInstall.wim /SWMFile:install.swm /FileSize:3800

And just like that, we’ve now split this large WIM file into two (or possibly more) smaller files – with the largest file being 3800 MB. Why 3800 MB? Because it’s less than 4 GB, the maximum file size for a FAT32 formatted flash drive! This will allow us to use a single flash drive for GPT / UEFI Windows 10 installation. (FAT32 is required for Windows GPT/UEFI media.)

Once you’ve confirmed both “The operation completed successfully” results, head back into Disk Management and right-click the Read-Only VHD disk and click Detach VHD. Click OK when prompted to confirm.

Build the Customized Media

  • Double click the stock ISO you used to install Windows in stage01 to mount it within File Explorer.
  • Open This PC and double click the newly mounted drive.
    (In my case, Drive H: CENA_X64FREV_EN-US_DV5)
  • CTRL+A (to select all) and CTRL+C (to copy)
  • Create a new folder named WinExtract off your C:\ drive
    • (Another location is fine too, but these instructions will be assuming C:\)
  • Navigate to C:\WinExtract\ and CTRL+V (to paste)

  • After the copy completes, navigate to C:\WinExtract\sources\ and delete the install.wim file.

  • Move C:\install.swm and C:\install2.swm to C:\WinExtract\sources\.

At this point, you are ready to create your ISO.

Create UEFI Bootable ISO

  • Open Command Prompt (Admin)
  • Change Directory to: C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\
  • Run oscdimg -m -o -u2 -lCENA_X64FREV_EN-US_DV5 -udfver102 -bootdata:2#p0,e,bC:\WinExtract\boot\,e,bC:\WinExtract\efi\microsoft\boot\efisys.bin C:\WinExtract\ C:\Win10v1703-Custom.iso

Once complete, you now have a UEFI bootable ISO named Win10v1703-Custom.iso located at the root of your C:\ Drive!

You can test to make sure it works by creating another Virtual Machine within Hyper-V and choosing Generation 2 (UEFI bootable).

Make UEFI Bootable USB Disk

If you’ve ever needed to create a UEFI bootable USB disk before, you may be familiar with the (brilliant) product named Rufus. It’s a very straightforward Windows ISO to USB tool which, right off the bat, asks if you want to do a GPT partition (UEFI bootable) or a MBR partition (BIOS bootable) drive.

Technically, the ISO you just created can work with either one of these formats, but since GPT and UEFI (along with Secure Boot) is the industry standard going forward, I would recommend sticking with that.

  • So, go download Rufus and  load up your new ISO:
    • Click the little CD icon and select C:\Win10v1703-Custom.iso
    • Ensure your Target Flash Drive is selected under Device
    • Select the GPT partition scheme for UEFI partition scheme
    • Ensure the File system is set for FAT32
    • Click Start

Congratulations! You’ve just created a universal flash drive with your custom Windows v.1703 build, utilizing UEFI and GPT.

Side note: If you decided to follow my Powershell commands which remove the majority of built-in UWP apps, you may notice something odd when opening the Start Menu after a fresh install. It appears the hard coded link to applications that no longer exist remains and a bunch of “place holders” clutter up the Start Menu. The simplest fix? Reboot! This is silly, but unfortunately I’ve not discovered a better solution at this time. If you find one, please comment below and let me know!

Let me know your experience with following these steps! Hopefully this walk through was helpful and the process didn’t take too long.

And for those who followed the Win 8.1 walk through, hopefully this one’s conclusion was a bit more streamlined. 🙂

Until next time!

  • Noa

    Thanks for the great new guide!

    Will you be adding to this with things like, an answer file for the sysprep so we don’t have to go through OOBE after the image process completes? And if so, could you also add in how to automate installing an application AFTER the sysprep process completes? (installing it before screws it up, it’s a monitoring app and uses a unique identifier that doesn’t change after sysprep)

    • echorelay

      Much appreciated, Noa! I’m currently battling the issue of 1703 servicing updates (via SCCM) reinstalling the built-in UWP apps that I previously removed from our image, so that’s keeping me busy for now, but I will definitely entertain the idea of integrating unattend.xml into my guide, possibly as an “optional configurations” type article. I had to do a mass rollout a few years back that required skipping OOBE and configuring a bunch of items + third party apps, and I believe I still have those scripts laying around, so I’ll see what I can do for ya 🙂

      • Noa

        Sweet, thank you sir! I just found a good youtube vid that shows how to create a couple, but not for windows 10, and doesn’t cover everything I need. Luckily it’s showed for WDS which is what I am using…I will see if I can figure out the rest from here in the meantime.

      • PAXpress

        I’d also be interested in seeing an unattend.xml file added to the setup with basic instruction to do things like add a local admin account with a specified password and skip the oobe.

        • echorelay

          This is on my radar. Sorry for the delay .. just been crazy busy lately!

          • PAXpress

            I was able to do an unattended, however for pro I kept getting errors on the specialize pass for activation. I was wondering if you could explain to me the different portions of the cmd that we ran to create the image from the winextract folder?

          • echorelay

            I just replied to your earlier comment. Sorry I didn’t see it before, it got flagged as spam for some reason.

          • Devanshu Save

            Amazing article and well described as well.
            I am doing something similar and would love some advice here.
            I am setting up systems for my University and have made all the configuration changes, installations, etc. in audit mode.
            I use clonezilla to save my images (I call them noPrep and sysPrep images).
            How do I ensure that a new user from the domain does not have an OOBE on login?
            Also, any advice on when should I add the system into domain?

      • Constitutional Reconvention

        So the Store apps come back? That’s what apparently happened to people using Win 10 Pro who removed Cortana, et al, then ended up with them again with a recent update.

        My hacks for removing Cortana/Store apps has held good on my Pro installs so far, but I am deferring updates and some other tricks. The Enterprise admin surely can disable all that junk just like on LTSB? I don’t know about you, but I don’t want LTSB on mainline PCs, although that appears to be workable. I will have to look at the “upgrade tables” and see what it would be like at a later point to switch to the 2017, 2018, 2019 updates once a year or whatever. As long as the license permits and the user data is preserved, I could maybe do yearly update to new branches. You follow that idea?

        Nobody wants this cruft Cortana/games/3D modeler junk in offices and schools. This should be easier and documented better.

        • echorelay

          Couldn’t agree more. I have successfully found a way to ensure these (obnoxious, in my opinion) inclusions do not come back after upgrading from 1607 to 1703. Hopefully I can write up a how-to before the next Windows version drops. Keep an eye on this site 🙂

  • Mart Peters

    I followed every step and added tweaks so it would work on my system ,but when I loaded the custom1703.iso onto a virtual machine windows still asked for an activation key. Should this happen or did I something wrong? I used Windows 10 Pro btw.

    • echorelay

      My steps assume Enterprise which will activate with KMS or MAK, so I didn’t address anything Activation Related with my article, however if you’re using Pro (which is perfectly fine) – yes, of course it will ask for a key and require activation. Maybe I’m misunderstanding, did I insinuate you wouldn’t need to activate?

      • Mart Peters

        The problem was on my side. I googled around about making a custom windows .iso without activation so that I can roll that .iso on several pc’s and this article showed up. Don’t know why it showed up though.But still a great guide.

  • Damien Prin

    thank you very much,
    Everything works well.
    (sorry for my poor english, i am from belgium ^^)

    Maybe this will help other users who like me will follow the tutorial under windows 7.

    I had trouble to run dism / Capture-image which returned an error 87 under windows 7.

    The command executed the old dism.exe (version 6.1.7600) of the system32 folder of windows.

    I solved the problem by entering the full path to dism :
    “%ProgramFiles(x86)%Windows Kits10Assessment and Deployment ToolDeployment Toolsx86dismdism.exe”

    • echorelay

      Thank you for that great tip, Damien. You’re exactly right. If not on Windows 10, you’ll need that path to ensure you’re using the latest DISM and not the one that came with Windows 7.

      Nice catch!

  • Constitutional Reconvention

    Woah, that was awesome! I’m going to need at least the first part. I only have 4 machines or so to deploy… maybe I skip the creation of the special WIM, but still looks good.

    Is there any difference if you are using a WSUS?

    Also, can I run the Hyper-V from a different OS, like Win10-1607 or RTM? The download for the tool is a bit ambiguous, and so is this somewhat… I assume the ADK has to be installed on the 1703 version (Duh) but I am not sure about the master system running the VM.

    Thanks for the post… and if you want to know what I think, you should have gotten paid to write all of this and post it.

    • PAXpress

      I ran the Hyper-V on win 10 pro 1703, but I’d assume it’d be fine. Perhaps if you’re creating a custom Unattended.xml you would need to run that on the same version? Maybe OP can assist here. I’d think for 4 machines it might just be faster to manually do the setup? But it is nice to have an image that does 90% of the work for you.

    • echorelay

      Hi There – Just to clear a few things up, the ADK isn’t ever installed on the VM that’s being staged – the ADK needs to be installed on the hypervisor (or master system as you called it) that is running the VM. In my steps, I assume you’re using the 1703 ADK. To the best of my knowledge, you CAN install this ADK on Win 10 v1607. Also, using WSUS shouldn’t make any difference with regard to these steps – unless you’re referring to the Current Branch for Business option, which I’d advise reading my latest post for some more insight into that one. Hope this helps!

  • echorelay

    So this convoluted command is what creates an ISO and allows it to be used within Rufus to make the flash drive boot via UEFI.

    “-m” ignores the maximum size limit of the image

    “-o” optimizes for MD5 hashing algorithm to compare files

    “-u2” produces an image that only contains the UDF file system

    The lCENA portion as you referred to is actually the “CENA” portion. The “l” (lowercase L) is for label – however oscdimg doesn’t require a space (thus making for one very confusing command string).

    “CENA_X64FREV_EN-US_DV5” is simply the drive label of the original ISO I downloaded off MSDN. Microsoft used to change these labels with each version, but it appears they’ve stayed the same for the last few releases. You can technically put anything here you want – I just kept it the same as the original ISO.

    “-udfver102” Specifies UDF file system version 1.02

    “-bootdata:2” Specifies a multiboot image

    “p0,e,b” Specifies the boot sector details for a BIOS boot (and also disables floppy disk emulation)

    “pEF,e,b” Specifies the boot sector details for a UEFI boot (and also disables floppy disk emulation)

    “C:WinExtract” is the folder containing all content that will be written to the ISO

    “C:Win10v1703-Custom.iso” is the folder and file name where the ISO will be created

    Hope this helps! Check out for more information

    • PAXpress

      Thanks! Now if only I could figure out why the specialize pass fails for my pro image. Same thing works fine for Ent and the only thing happening in this pass is the activation with our pro key…

      • echorelay

        are you trying to activate or are you trying to update the key during this phase?

        • PAXpress

          Activate, however I did the same steps for my custom enterprise image and it works with the key embedded in the image but for pro it fails. I do use the correct files for the win extract folder and the pro key of course. When I turn the staging machine back on it fails for an error about not the correct product for the key I’m trying to use and when I test the image on a new machine it fails during that pass. I’ve double checked the winextract files, the answer file’s catalog and the key multiple times and can’t seem to determine the issue. I’ve tried using the setupcomplete.exe to activate but I think it needs admin privileges to run properly and that fails as well… maybe I’m missing something.

          • echorelay

            What if you just set the product key during these steps and then have unattend.xml run “slmgr.vbs /ato” on first logon? Basically, remove activation from the equation and just activate at the end.

          • echorelay

            Also, is this a Pro MAK key or is it a Pro Retail key? Enterprise is MAK only (other than KMS) – so maybe that explains why your Enterprise solution is working but Pro isn’t

          • PAXpress

            The ent key that worked was MAK and the Pro key that I can only get to work manually (fails during specialize pass) is MAK as well.

          • PAXpress

            So while in audit mode enter the key and in the unattend.xml run that cmd on first login? And I’ll check the key type I dont remember looking at that due to the way we store our vlsc keys locally here.

          • echorelay

            Correct. I would never attempt to activate while in audit mode – you’re wasting activations that way as the machine just get wiped after sysprep runs and needs to reactivate on first boot anyway

          • PAXpress

            To do this you’d put in the key in audit mode how? With networking turned off then run the sysprep with the custom answer .xml containing the cmd slmgr.vbs /ato as a first logon script? Or where do you actually mean to enter the key? sorry to make this confusing!

          • echorelay

            You can specify the key within MDT. Alternatively you can run the command “slmgr.vbs /ipk ENTER-KEY-HERE” before you run “slmgr.vbs /ato

          • PAXpress

            Sorry for a thousand dumb questions… but where in MDT? Am I doing something differently? I used windows system image manager to make the unattended.xml, is it something separate thats part of the MDT? I’ll try the two commands though for my answer file see how that goes.

          • PAXpress

            This worked for me. Thanks!

          • echorelay

            Great to hear! Sorry I didn’t get a chance to reply earlier. Happy you figured it out, though 🙂

  • Christophe

    I would like to Apply a provisioning package (PPKG) file automatically during the installation process. The idea would be to have the ppkg file saved on the USB key to simplify changes. Any idea?

    • echorelay

      Thanks Christophe! I have tried, and would love to be proven wrong here – but I have not found a way to apply a provisioning package silently. In every attempt I’ve made, you must click “next” manually. I sincerely hope Microsoft provides a workaround for this in the future!

      • Christophe

        All right. So you mean that it’s not possible to run silently this command? DISM.exe /Add-ProvisioningPackage /PackagePath: [/CatalogPath:]

        • echorelay

          I should have been more clear – I’ve never found a way to run a provisioning package silently on a RUNNING version of Windows. In your case, you might be able to follow the instructions here to accomplish what you’re trying to achieve:

          • Christophe

            Thanks I will have a look. I could create an automated windows 10 1607 image installation (not asking for language and partition…) in the old WICD but Windows ICD 1703 no longer supports image customization. I tried to copy an Autounattend.xml under Sources folder but I could not manage to get it working.

  • Constitutional Reconvention

    I came into some difficulty, apparently related to the disabling of some AppX components. I know that your walk-through talks about a removing a certain set of AppX packages (Skype, 3D builder, etc) using the scripts, I instead chose to leave them in place and disable them using AppLocker, which is configured through Secpol (policy).

    My resulting ISO went into a loop during the final stage of Setup in which I am prompted to allow Windows to update using WiFi, etc. As far as I can tell, it is possibly solved by removing the secpol policies that restrict running certain AppX packages. Here’s a few links:

    The error is “Why did my PC restart?” and clicking Next just reboots and shows the screen over and over… no error number or description. I don’t feel like debugging this.

    I am still trying to resolve the issue on a VM right now, so hopefully that second or third link puts me on the right track.

    I also automated the part that is done at the commandline. I had problems with using a D: drive and a folder with spaces. Don’t you love DOS and long filenames? Pulling hairs out for 25 years now.

    • echorelay

      Thanks for reading! Interesting choice in disabling the appX apps using AppLocker! I suspect the failure is happening since the new user login (first time) actually installs the apps for the local user. If you’re blocking this using AppLocker, maybe that’s whats causing the error? I haven’t played with AppLocker much, certainly not within audit mode when creating an image, so this idea is just a guess.

  • Googo

    This is an awesome guide! Thank you for making this. I’ve followed all the steps and I am now the furthest I have ever been with new Win10 image creation.

    I have an issue where some of the applications I installed are not in the image. Maybe 3 of the applications did not get transferred over. I have 3 .swm files and I am wondering if one of them didn’t get applied. Any tips would be much appreciated.

    • echorelay

      That is a very odd issue! May I ask what the applications are? You installed them in Audit mode and sysprepped (with generalization)?

      • Googo

        I posted earlier, but for some reason it’s gone. Anyway, thank you for replying.

        I have the following applications:
        Office 2016
        Winzip 18
        Symantec Antivirus
        Triton Websense AP

        I did install these in audit mode.

        • echorelay

          Of these, which applications aren’t still in the image after installation? I haven’t experienced this before, so I’m guessing, but make sure apps are not installing themselves into the C:users**AppData folder as that is unique for the user account (thus not installed System Wide) and will get wiped on sysprep. Example: Google Chrome does this unless you specifically download the “enterprise” / “full” installer. Thanks! Joe

  • ThomasK

    i went through this and now when i run the iso on a new machine from a usb and in hyper- v vm iget an error, I have checked and there is an ei.cfg file im lost

    • Stênio Oliveira

      same problem, help me!

      • echorelay

        Are you using Enterprise or Pro?

        • Stênio Oliveira


          • echorelay

            Have you mixed installation media? Is your Pro the VL version or the Retail version? (Check the disk sources folder for the EI.CFG file)

  • Chris

    Awesome guide! Have you by chance messed with creating an answer file for Win10 1703?

    • echorelay

      Haven’t configured an answer file in ages for workstations (we do use them heavily for servers, however). I keep getting requests regarding this, though .. need to add it onto my road map. Thanks for reading!

  • Pingback: Error 87 Dism.exe()

  • @79

    First of all, hats down for this full tutorial and all work behind it.
    I’ve followed in depth your guide here, but overtime, when I try to upload the .wim file ( I didn’t split .swm files) , the WDS is telling me, the image is not valid.

    • echorelay

      Thank you for the kind words! Are you using the latest version of WDS? What server OS version are you running on? I haven’t tried using split wims on WDS before as it’s never been necessary for me. I can say that I have followed the listed process (excluding the splitting part) and successfully use them with SCCM OS deployment, which the underlying technology of that is WDS. I am, however, using the latest version of SCCM Current Branch (1706)

      • @79

        Hi, thanks for the reply. WDS version 10.0.14393.0 running on Windows Server Standard 2016. No SCCM

        • echorelay

          Are you using the latest 1703/1709 ADK? Shooting in the dark, but I’m thinking it could be something to do with a boot.wim file. Your WDS is for version 1607 (which is what Server 2016 came with) – so I’m just trying to think what could cause this problem. Have you tested the WIM outside WDS to ensure it does work in a standalone method? Thanks, Joe

  • cypherstream

    Hi, is this possible to do with Windows 10 Professional? Can I take the wim file and import it into a server running Windows Deployment Services and PXE boot it? I don’t want to deal with physical media. I have no problem PXE booting Windows 7 wim, Acronis true image, windows 7 image capture / lite touch windows pe.

    • echorelay

      You certainly can follow my directions but create Win 10 Pro instead of Enterprise, yes. My steps assume you’re using just Microsoft tools, however. (Thus, no Acronis True Image)

  • buchead

    there is no install.swm in my /source folder, only install.esd.

    • echorelay

      .esd is an encrypted (and smaller) version of a WIM file which can be acquired via consumer methods (device recovery images, for example). My articles assume you are able to acquire a version with a proper WIM file (as downloaded via MSDN or VLSC). I can’t provide too much direction on this topic, however I can tell you that there ARE ways to convert that ESD of yours over to WIM if you have no other options.
      Thanks for reading!

  • jesús “chus” Perez

    I am preparing a Windows 10 1703 model using your procedure but when the reference machine is in audit mode Remote Desktop doesn´t work, and port 3389 is not Listening. ¿it is normal?

    Thanks & BR

    • echorelay

      Honestly I’ve never tried to use a device in Audit mode as an RDP server. Frankly I’m not sure why you’d want to do that? Audit mode is a restrictive mode intended only for creating an image – so it wouldn’t surprise me if they locked it down like this. Thanks for reading!

  • Hikari Minami

    Can it install as CSM bios rather than UEFI?

    sorry my bad english.

    • echorelay

      This ISO will install in either UEFI or CSM/Legacy BIOS boot mode – yes.

  • marc

    Thanks for the great guide. Worked always well for me until now. I have the problem to install feature update to Windows 10, version 1709 telling me I can’t install Windows while running in Audit Mode. Any suggestions?

    • echorelay

      Where are you seeing this message? You cannot upgrade an older version of Windows 10 to a newer version of Windows 10 while in Audit Mode. Thanks for reading!

      • marc

        When I am running
        the Windows updates. Usually, I reimage my machine
        every month with the
        latest windows and office updates. But with the feature update to version 1709
        I got this error message:

        • marc
          • echorelay

            Hi Marc – so yes, I suspect what you’re trying to do is simply update your base OS in Audit mode before you create the WIM and ISO? If you’re using 1703 and checking for updates in Audit mode, and it starts downloading the 1709 feature update – that definitely wont work. Feature updates are entire operating systems versus the “cumulative updates” which are just “point updates” to the current operating system. If you’re following these steps with 1703, I would say give 1709 a shot. I should have a guide out soon on my experience with 1709. Uninstalling UWP apps with 1709 has become a bit more involved, I’m afraid.

          • marc

            Thanks for the answer. This means I have to rebuild with every major or feature update? At least it will keep you practicing 🙂
            By the way, 1709 rebuild was successful except uninstalling UWP apps. Would be great to have a full guide for 1709. Thanks again and enjoy your weekend.

          • echorelay

            That’s correct. I consider it practice as well :). I updated my UWP uninstallation steps for 1709 just this afternoon. Will publish very soon! (Hint: holy cow did MS add a lot of extra unnecessary stuff this time around).

          • echorelay

            Just to follow up – the latest 1709 guide is now posted!

  • For some reason nothing happens after clicking Ok at the “Enable System Out-of-Box Experience (OOBE)” screen (i’ve selected generalize + Shutdown). Attempting to sysprep a Dutch non-OEM Windows 10 Pro x64 edition.

    • echorelay

      Hmm, I’m able to do this on my side. But I’m only testing with English / Enterprise ISO’s. Also, I’ll be posting an updated how-to for 1709 hopefully this week. Stay tuned!

      • Sounds good, can’t wait 🙂 (nothing but praise for what you do).
        I also have made some progress (with some fails in between). Instead of choosing “Shutdown”, i choosed “Shutdown system” (i first thought this would shut down my own computer). This worked, but then another problem appeared out of the blue; after deleting some indexes from install.wim and having done some basic modifications in Audit mode (i basically only pre-installed some programs and added a folder/readme to the desktop), the created .iso wouldn’t let me install Windows (at first boot, setup complained about a missing installation image or EditionID related stuff). So, to find out what was actually happening, i redid everything from scratch, using an English Windows version to better understand what the error was about. Guess, what? It flew through the Windows setup. I still don’t know what caused the problem (couldn’t reproduce anything), but i’m currently at the stage/step where you capture from the attached virtual drive to a new install.wim. – Wish me Luck! (i’m looking forward to the updated guide).

        • echorelay

          Good luck! Out of curiosity – you said you deleted some indexes from the install.wim – were you using 1709 or 1703 for that? Either way, that could definitely cause issues with missing installation images, but if you were using 1709, Microsoft changed a lot of things and the VL media has Pro / Ent / Edu all co-existing within the same ISO. For Retail media, I believe it’s S / Home / Pro / Pro Education / Pro for Workstations / Edu that are all on the same ISO. This is different than how they did it previously, so that could definitely confuse matters.

          • My previous post isn’t approved yet but the results are in!

            This time i didn’t remove any indexes.

            After capturing the slightly modified image (i only changed some generic system-wide preferences), writing the bootable .iso to SSD and installing it under Hyper-V, setup STILL displayed the dreaded error! :-/

            The problem therefore must lay elsewhere. “Where” this may be remains a mystery but i’m expecting it to be a fault in the Dutch and possibly other Non-english builds.

          • echorelay

            Thanks for keeping me updated, here. Very odd indeed! Microsoft must be doing something goofy with the non-english builds. Just an idea … but is it possible to start with an English build but add the language pack for your region? Just trying to think of a way to get you operational sooner than Microsoft can produce a fix.

            UPDATE: Just re-read your previous post. Yes – I believe you certainly can inject the language pack prior to sysprepping. I’ll be honest, I’ve never done that before, but I don’t see why that wouldn’t work – presuming the Dutch language pack installed on the English build provides the same experience for you as the Dutch version does.

          • Here’s the “final” setup screenshot:


          • echorelay

            Just following up on this .. so did we ever get a proper response from Microsoft? Seems like their non-en-US builds are broken? Thanks!

        • echorelay

          what indexes are you deleting from install.wim? Do you need to do this?

  • Gandalf007

    Great tutorial! I am running into a small issue however. I have a 45GB custom wim file & after running the split wim syntax via cmd prompt, it successfully creates a set of smaller swm files but ONE always ends up being larger than 4GB (usually the 2nd to last file). I have tried using 3800MB as in your example & 3000MB. Any ideas?

    • echorelay

      I have never seen this! Very odd indeed. Sorry for the delay in response. Did you ever find a solution? I know Dell makes a rudimentary image splitter based on the old imagex application (I believe). Maybe you could try that?

  • Daniel Rogers

    How is your 1709 guide coming along? I’ve had all kinds of problems going from 1607 to 1709… trying to skip 1703.

  • echorelay

    Thank you for the kind words, David – and my apologies for replying so late. One of my 2018 resolutions is to pay closer attention to my comments as this one slipped by. (As did my cert renewal .. which thanks again for that reminder ;-)) I just published the 1709 Guide @ Feel free to check it out and let me know how things come along for you. It’s quite similar to 1703, but there are a few differences here and there. Take care!

  • echorelay

    I have never heard of this one! Did you ever find the solution? If I were to guess, was it the endpoint security (AV) related apps that were being removed? Thanks!