Windows 10 Multilingual Distribution Creator
A mostly automated script to add language packs to Windows 10 distribution, resulting a multilingual ISO, including:
Choice of language at setup
Languages packs preinstalled so that you can switch between them in the system
Multilingual Windows Recovery Environment with a choice of language at boot (if standard WinPE localization is on)
Supports any Windows 10 build starting 10240
Supports the normal language packs (cab) files, or the new language packs (esd) files (available from UUP source since build 15063)
Distributions that have install.esd are not supported (esd file is not serviceable), this includes ISOs created by Media Creation Tool
Supports updating one-architecture distributions (x86 or x64), or custom AIOs that have both architectures together in one install.wim
Two-architecture distributions created by esd-decrypter-wimlib are not supported directly however, if it’s created using option:
2 separate install.wim, you can update each file separately by choosing x86 or x64 folder as distribution path
1 combined install.wim, you can update it with W10MUI_Mini.cmd script
Working Environment: Windows 8.1 or later with at least 15 GB of free space.
Windows 10 distribution (ISO file, DVD/USB, ISO extracted to folder).
Windows 10 Language Packs, matching the distribution build version (Note: version 1909 is the same as version 1903).
Windows 10 OnDemand Packs if available (Optional, but recommended).
If you want the Standard WinPE localization: Windows 10 ADK (Deployment Tools & Preinstallation Environment).
Build 19041 - Windows 10 version 2004:
- Build 18362 - Windows 10 version 1903 (and 1909):
- Build 17763 - Windows 10 version 1809:
- Build 17134 - Windows 10 version 1803:
- Build 16299 - Windows 10 version 1709:
- Build 15063 - Windows 10 version 1703:
- Build 14393 - Windows 10 version 1607:
- Build 10586 - Windows 10 version 1511:
- Build 10240 - Windows 10 version 1507:
- Step 1
Create a directory on a partition with enough space on it (at least 15 GB), depending on the number of LPs you are adding (e.g. C:\MUIDVD), and extract this package to the directory your created.
- Step 2
Place language packs (cab/esd) files in “Langs” folder.
- Step 3
Place ondemand packs (cab) files in “OnDemand\x86” or “OnDemand\x64” folder (based on architecture)
- Step 4
Edit the script with notepad and adjust the following variables to suite your needs, or leave it as-is:
Path for Windows 10 distribution (without quotation marks)
you can use the iso file path directly, or path to custom extracted folder, or DVD/USB dive letter.
leave it blank if you want to use iso file placed next to the script, or prompted to enter path.
ISO (set 1 or 0)
Create iso file afterwards or not
WINPE (set 1 or 0)
when enabled “1”:
require WinPE lang packs from ADK (Preinstallation Environment), winre.wim and boot.wim will be updated
when disabled “0”:
boot.wim index 2 (setup image) will be updated manually with setup resources found in the main lang pack.
when adding East-Asian lang, both boot.wim indices will be updated with font support
SLIM (set 1 or 0)
when disabled “0”:
all applicable WinPE lang packs will be added to boot.wim and winre.wim
all lang resources files will be added to ISO sources directory and keep it as default.
when enabled “1”:
only necessary WinPE LPs for setup/recovery will be added to boot.wim and winre.wim (Main, Setup, SRT).
ISO payload files will be deleted, and keep required files for boot-setup (iso can be used only for clean install).
NET35 (set 1 or 0)
Enable .NET Framework feature or not
if you enable it, microsoft-windows-netfx3-ondemand-package.cab file will be removed from iso\sources\sxs afterwards
optional, custom directory path for WinPE language packs files, in case you do not want to install whole ADK WinPE feature
you must keep the same directory hierarchy as original installed ADK
x64 German files:
x86 Arabic files:
then you set the parent WinPE directory as path:
culture code of the default language that will be set in the Windows images and as initial setup language
it will be changed later when/if you choose another language at setup
leave it blank if you want to keep the current default language in install image.
optional, mount directory on another partition if available to speed integration, or leave it blank
- Step 5
Verify that all your settings are correct and that the required files are in the proper location. Then, execute the script as Administrator.
The process will take quite some time to finish depending on number of LPs to add, so WAIT. If all went OK, You will get the “Finished” message.
The new multilingual ISO can be found in the same directory besides the script. If you choose not to create iso file, the distribution folder “DVD” will remain after you close the script.
- Build version will be determined based on install.wim file
- Language files, codes and architecture will be determined based on the detected files in “Langs” folder
- All detected files in “OnDemand” folder will be added as supplementary packges
- to spare yourself the trouble, keep the work directory path short, do not use spaces and do not use non-ASCII characters.