Prevent Windows 10 installer from using the preinstalled serial key without disabling UEFI

First of all, make sure you have a regular (single-architecture) Windows ISO. It seems you already have that covered.

Then, try this method:

  1. Create a Setup USB drive
  2. Create a file named PID.txt in the Sources directory, with the following contents:

    [PID]
    Value=YOURK-EYGOE-SHERE-XXXXX-XXXXX
    
  3. Boot from this USB drive


First of all if you download Windows 10 using media creation tool it contains 3 editions: Pro, Home and Education. Windows automatically chooses one according to your serial key in BIOS or already installed Windows OS. You can force it to let you choose what you want to install by creating one file on your installation disc/USB drive.

Create ei.cfg file in sources directory on installation disc/USB drive, open it in any text editor (for example notepad) and paste this:

[Channel]
Retail

Result: select edition

IMHO this solution is better because you are not limited to one serial key and you can have both 32 and 64 bit systems. Media creation tool allows you to download both as one installer. So you end up with 6 editions to select. :)


I can confirm the EI.cfg method is still working as of today (Dec 7, 2020) with both the Media Creation Tool (MCT) and ISO media.

Both ISO and MCT are now multi-edition and you can't download an edition-specific installer.

This creates a problem due to the installer assuming the ACPI/bios embedded license/edition is the one that should be installed (instead of giving the user a choice).

Microsoft support actually recommended in this case that I disable UEFI/GPT and go back to Legacy BIOS/MBR. That will work (prevents installer from "seeing" the OEM license in ACPI)...but it is a hack working around a broken installer.

The installer shouldn't assume. If the Edition is not configured in the image, the installer should present the user with an edition selection. For nice experience, perhaps highlight which of the available editions are covered under their detected digital license. Heck even if their detected digital license did not cover ANY of the editions, that could still be stated.

This would be nice:

We detected an OEM license for ____. This allows you to install ___ or ___ or ___. Unfortunately this install media does not include any of those editions. If you proceed to install one of the following editions, you will need to provide a new license key before you can activate windows. What would you like to install? ___, ____, ____, ____ or quit.

Current experience sucks for non-technical users trying to do a simple clean install.

Fortunately with EI.cfg it isn't that bad...once you figure out that is what you need to do. How many frustrating clean install cycles getting the wrong OS and hours of googling before you figure out what is going wrong?

Inspect the Editions in your Installer

If you have created a bootable USB using MCT (or other method) you can inspect what is included in the image like so...

C:\Windows>Dism /Get-ImageInfo /imagefile:D:\sources\install.esd

Deployment Image Servicing and Management tool
Version: 10.0.18362.1

Details for image : D:\sources\install.esd

Index : 1
Name : Windows 10 Home
Description : Windows 10 Home
Size : 15,496,272,979 bytes

Index : 2
Name : Windows 10 Home N
Description : Windows 10 Home N
Size : 14,709,899,819 bytes

Index : 3
Name : Windows 10 Home Single Language
Description : Windows 10 Home Single Language
Size : 15,463,621,876 bytes

Index : 4
Name : Windows 10 Education
Description : Windows 10 Education
Size : 15,710,651,056 bytes

Index : 5
Name : Windows 10 Education N
Description : Windows 10 Education N
Size : 14,961,039,669 bytes

Index : 6
Name : Windows 10 Pro
Description : Windows 10 Pro
Size : 15,743,641,051 bytes

Index : 7
Name : Windows 10 Pro N
Description : Windows 10 Pro N
Size : 14,964,257,001 bytes

The operation completed successfully.

Depending on your image, you may need to replace install.esd with install.wim

So you can see that the USB installer contains a bunch of different editions, including the missing/hidden "N" versions.

To inspect a specific edition, you can provide further options.

C:\Windows>Dism /Get-ImageInfo /imagefile:D:\sources\install.esd /Index:7

Deployment Image Servicing and Management tool
Version: 10.0.18362.1

Details for image : D:\sources\install.esd

Index : 7
Name : Windows 10 Pro N
Description : Windows 10 Pro N
Size : 14,964,257,001 bytes
WIM Bootable : No
Architecture : x64
Hal : acpiapic
Version : 10.0.19041
ServicePack Build : 572
ServicePack Level : 0
Edition : ProfessionalN
Installation : Client
ProductType : WinNT
ProductSuite : Terminal Server
System Root : WINDOWS
Directories : 23194
Files : 91412
Created : 10/9/2020 - 9:58:09 PM
Modified : 12/7/2020 - 8:30:55 PM
Languages :
        en-US (Default)
The operation completed successfully.

This gives us the EditionID we need for the EI.cfg file (e.g. ProfessionalN in this example).

Create EI.cfg

I wanted Win 10 Pro "N" edition, so I created an EI.cfg in notepad with the following contents.

[EditionID]
ProfessionalN
[Channel]
Retail
[VL]
0

I have an extra newline at the end (after the 0), but don't know if it matters. Of course if you want a different edition you can confirm the exact EditionID from your install media using the commands I illustrated above.

Note when you go to save this...

  • save it in the sources directory inside your installation media (ie your bootable usb stick)
  • when saving in notepad, make sure to change from "txt" to "all files" otherwise notepad will add a .txt and you will end up with EI.cfg.txt which the installer will ignore.
  • verify you saved the file as the right type by looking at the file in Explorer and seeing if the file type column is CFG or TXT.

Downloading ISO From Windows

Microsoft "helpfully" won't let you download the ISO if you are on windows and won't let you download the MCT exe if they think you aren't on windows.

If you are getting redirected from the /windows10 to /windows10ISO or vice-versa, you can just open up your browser developer tools and using the "responsive" tools (which let you alter your User-Agent string) pretend your browser is (or isn't) Windows in order to get the ISO or MCT download page.

DevTools Responsive User-Agent Hack

Make a bootable Win10 USB from ISO

Just in case you have the right edition laying around in ISO form and don't want to mess with the EI.cfg solution.

If you have a Windows 10 ISO you can also create bootable USB media using the Windows USB/DVD Download Tool. Useful if you happen to have an edition-specific ISO laying around. Also with windows 10 you can't just dd an ISO onto a USB stick because the install files are now over the limit for FAT filesystem...so you have to use a special tool to convert new Windows ISOs for bootable USB.