Language Packs-Integration breaks language choice in OOBE

g-force

New Member
Messages
28
Reaction score
4
I ran into troubles with integrating languagespacks. Here`s my configuration:

1. Download of Windows11-MCT-Image as ISO (German, De-DE) (MCT = Media Creaton Tool)
2. Convert ESD to WIM, keep "PRO" only, make new ISO (Win11_24H2_DE_PRO.iso) with NTlite
3. Unpack "Win11_24H2_DE_PRO.iso" with 7zip and load image with NTlite
4. Integrate 9 languagepacks (downloaded with ADGUARD, also tried "W10-11 LanguagePacks v2.3" by "abbodi1406" EDIT: "garlin"
5. Generate new ISO "Win11_24H2_DE_PRO_ML.iso" (ML =-MultiLanguage)
6. Add few settings to install in audit-mode (autounattend.xml) and create ISO "Win11_24H2_DE_PRO_UATT.iso (UATT = UnATTended)
7. Install in Hyper-V and/or PC in audit-mode without any troubles
8. Sysprep the system (oobe, shutdown, generalize)

When i reboot the system into OOBE it shows all 9 languages to choice (alphabetic order, DE ist first, DA ist second, and so on). Looks fine, but:
If i choose another another language except DE the setup breaks down and restarts into language choice. Only DE is functionally.

I tried other ISO (UUP-Dump, Adguard) without this problem. But i want to keep MCT-ISO as my basic ISO.
What breaks the OOBE while using the MCT-image?
 
Last edited:
abbodi86's the recognized expert on Language Pack issues, but it sounds like some generalize error where it's not removing your audit mode's language preference (de-DE), and copying it to the default profile.

I don't see why the MCT's version (26100.1742) would matter, unless it's a bug related to a later 24H2 build selected from UUP dump.
 
It`s working even on an ISO without any updates (e.g. ADGUARD) - i tried to to integrate languages with NTlite, works without breaking the OOBE. I also tried integrating languages into MCT without "audit & capture" - it`ll break the OOBE.
 
Be aware with Audit and Capture for 24H2 - taken from here
After boot into SysPrep:

delete folder Windows.old from C:/
delete ‘unattend.xml’ and ‘unattend-original.xml’ from ‘%SYSTEMROOT%\Panther’ (C:/Windows/Panther)

Works after CopyProfile without %OEMS% folder and UnAttended for a second run Capture.

Before 24H2 NTL deleted these files default when adding a new UnAttended.
 
Last edited:
I delete some folders (if existing) by powershell-script in audit-mode:

"C:\MININT"
"C:\Windows.old"
"C:\Windows\Panther" EDIT: Not the folder, just the "unattend.xml"
"C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
 
Last edited:
I'm investigating how to include newer language experience packs in Windows installations. I've noticed the file SE_22621.97.369.0_neutral__8wekyb3d8bbwe.Appx (Swedish) is version-specific and used for verification, likely against the Windows Store. Is there a way to include newer versions of this file *before* the ISO is updated? I assume a corresponding German version exists, perhaps similar to `Microsoft.LanguageExperiencePackde-DE_26100.22.42.0_neutral__8wekyb3d8bbwe.Appx`?

What happens if the Out-of-Box Experience (OOBE) is skipped?

I'm focused on finding a reliable solution. Currently, my only known method (besides directly modifying the ISO with .cab file import/export) is this approach. The content of the language pack appears consistent across versions, primarily serving as verification against the Windows Store.

I have a somewhat unconventional idea that might allow us to maintain only the basic language pack.

So instead of the .cab files try using .Appx for each language instead

 On the Microsoft website
" Important

After you install a language pack, you have to reinstall the latest cumulative update (LCU). If you do not reinstall the LCU, you may encounter errors. If the LCU is already installed, Windows Update does not offer it again. You have to manually install the LCU."



 
Last edited:
This is what i integrate with NTlite (basic ISO is de-DE):

+---da-dk
| Microsoft-Windows-Client-LanguagePack-Package-amd64-da-DK.cab
| Microsoft-Windows-LanguageFeatures-Basic-da-dk-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-da-dk-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-da-dk-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Speech-da-dk-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-da-dk-Package-amd64.cab
|
+---en-gb
| Microsoft-Windows-Client-LanguagePack-Package-amd64-en-GB.cab
| Microsoft-Windows-LanguageFeatures-Basic-en-gb-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-en-gb-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-en-gb-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Speech-en-gb-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-en-gb-Package-amd64.cab
|
+---es-es
| Microsoft-Windows-Client-LanguagePack-Package-amd64-es-ES.cab
| Microsoft-Windows-LanguageFeatures-Basic-es-es-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-es-es-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-es-es-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Speech-es-es-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-es-es-Package-amd64.cab
|
+---fi-fi
| Microsoft-Windows-Client-LanguagePack-Package-amd64-fi-FI.cab
| Microsoft-Windows-LanguageFeatures-Basic-fi-fi-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-fi-fi-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-fi-fi-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-fi-fi-Package-amd64.cab
|
+---fr-fr
| Microsoft-Windows-Client-LanguagePack-Package-amd64-fr-FR.cab
| Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package-amd64.cab
|
+---it-it
| Microsoft-Windows-Client-LanguagePack-Package-amd64-it-IT.cab
| Microsoft-Windows-LanguageFeatures-Basic-it-it-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-it-it-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-it-it-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Speech-it-it-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-it-it-Package-amd64.cab
|
+---nl-nl
| Microsoft-Windows-Client-LanguagePack-Package-amd64-nl-NL.cab
| Microsoft-Windows-LanguageFeatures-Basic-nl-nl-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-nl-nl-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-nl-nl-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-nl-nl-Package-amd64.cab
|
+---pl-pl
| Microsoft-Windows-Client-LanguagePack-Package-amd64-pl-PL.cab
| Microsoft-Windows-LanguageFeatures-Basic-pl-pl-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-Handwriting-pl-pl-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-OCR-pl-pl-Package-amd64.cab
| Microsoft-Windows-LanguageFeatures-TextToSpeech-pl-pl-Package-amd64.cab
|
\---sv-se
Microsoft-Windows-Client-LanguagePack-Package-amd64-sv-SE.cab
Microsoft-Windows-LanguageFeatures-Basic-sv-se-Package-amd64.cab
Microsoft-Windows-LanguageFeatures-Handwriting-sv-se-Package-amd64.cab
Microsoft-Windows-LanguageFeatures-OCR-sv-se-Package-amd64.cab
Microsoft-Windows-LanguageFeatures-TextToSpeech-sv-se-Package-amd64.cab

As i explained: These files can be integrated in any other ISO (Adguard, UUP-Dump), but break the OOBE when i integrate in MCT-ISO.
 
Last edited:
OOBE breaks because you must add updates (latest cumulative update) after languages

+
"W10-11 LanguagePacks v2.3" is by garlin
 
I made a lot of tests with different setups and configurations. When i use the MCT-image (24H2) i don`t integrate any updates, i only integrate the languagepacks. i will test again to be sure.
 
Last edited:
There is no newer version available than
W10-11 LanguagePacks v2.3?

Will of course use your preset but as i dont have paid version of NTLite make of the testing also limited i guess

If i got this language pack.iso and this iso i can also try your preset and see if i can trigger the same error or find away to make it work or find a solution for this but will use a Virtualbox or VMware Workstation Pro pro workstation 17.6.2

Creddit to Garlin

"1. Load clean image, add LPs. Make new image."
"2. Load image, continue with other changes."

it about testing time :)
you got this file autounattend.xml?

iso is gone from server i go with the MS orginal iso 24H2 build 26100.1742 will just grab the german iso
remove all other edtion but keep Professional

so i did find this infromation at Microsoft page

https://support.microsoft.com/en-us...-history-0929c747-1815-4543-8461-0160d16f15e5

https://www.catalog.update.microsoft.com/Search.aspx?q=KB5043178

so the way it shuld bee done is by this
Creddit to Garlin

"1. Load clean image, add LPs. Make new image."
"2. Load image, continue with other changes."

at stage 2 now included if needed
Windows 11 servicing stack update (KB5046306)- 26100.2032 (cant bee removed after it got installed)
KB5044284 (OS Build 26100.2033)

Windows 11 servicing stack update (KB5047621)- 26100.2303 (cant bee removed after it got installed)
KB5046617 (OS Build 26100.2314)

Windows 11 servicing stack update (KB5049685)- 26100.2592 (cant bee removed after it got installed)
KB5048667 (OS Build 26100.2605)

Windows 11 servicing stack update (KB5050387)- 26100.2890 (cant bee removed after it got installed)
KB5050009 (OS Build 26100.2894)

Windows 11 servicing stack update (KB5052085)- 26100.3189 (cant bee removed after it got installed)
KB5051987 (OS Build 26100.3194)


this testing is limited to just tested install.wim languge pack

i did also noticed two new KB number
KB5053424
KB5053426

Please note that testing will then be much more limited as no updates are included from the start

As long as you don't include updates that fix the oobe issue, this will still happen.
 
Last edited:
There is no newer version available than
W10-11 LanguagePacks v2.3?
That's my PS script for downloading LP's. The problem isn't the script, but from the order that updates are installed.
https://www.ntlite.com/community/in...ading-language-packs-w10_11langpack-ps1.2747/

Will of course use your preset but as i dont have paid version of NTLite make of the testing also limited i guess
This can be done in NTLite's free edition. Download all LP's and Monthly Update files on your own, and add them from the Updates screen.
 
You will find all files (MCT-ISO-DE, LPs.7z, Video, XML) on my homeserver: http://gofile.me/7psKS/ZI05iLYuG
What's missing from this description is what are you doing in sysprep? Can we see a copy of the sysprep unattended file?

Since you're not applying any updates in the NTLite preset, it's not clear if you're applying them in sysprep or allowing Windows enough time to do updates while you're waiting in sysprep.
 
Within my tests i didn`t do anything in sysprep (no udates, apps, regs or anything else). I just choose "OOBE, Generalize, Shutdown" in Sysprep (without any unattend.xml). After restart the OOBE language-choice is broken. I even tested without internet connection.

I documented this behaviour with screenshots and a video that you`ll find on my homeserver. It happens in VM (Hyper-V) and real machines (different laptops).
 
I can now confirm this: The "Media Creation Tool" downloads version 26100.2033, while the direct ISO download from MS provides version 26100.1742. I never paid attention to this before, but I will now test whether this makes a difference.

EDIT: No, makes no difference - OOBE is still broken with MCT-Images.
 
Last edited:
I have now tried all possible ways to integrate LPs (language packs) into an MCT ISO – it always ends up with similar errors. Of course, I cross-tested with self-created ISOs at different patch levels – this error never occurred. I wonder how IT departments in larger companies can preinstall devices when official MS ISOs are required but multiple languages are also needed.

There are several ways to download ISOs with different patch levels. For example, on "ADGUARD," I can download a script that, when executed, allows me to integrate updates, apps, and LPs. I now consider this the best solution. However, the ISO or WIM grows rapidly when updates are integrated. This is a relevant factor for me because multiple PCs are installed via WDS/MDT and network – an image that is too large costs a lot of time. On the other hand, an image without updates is often not updateable once finally installed. Or incorrect displays appear in OOBE/language selection (everything in English only). I've encountered a thousand possible errors here.

My own ISO doesn't need to be at the latest patch level, but it also must not trigger "Windows Update" in OOBE, which would delay setup by 30-45 minutes – a 26100.1 is out of the question since it fails in later WU. Integrating the "Checkpoint" increases the WIM size from 4.5 GB to over 7 GB, and the latest "Cumulative Update" then pushes it beyond 8 GB. That is not an option.
 
I also create MUI 24H2 media but via a different way and i don't have issues. I always use the latest ISO from MSDN. Roughly how i do it:
1. Get FR-MSDN ISO
2. Extract ISO - load in NTLite - apply preset - keep ENT - save as ISO
3. Install ISO in VMware (offline) - boot into Audit mode - add applications
4. do Sysprep and capture WIM
5. copy WIM to extracted ISO folder - create ISO by using NT-Lite.
6. Get LP's (DE,US) + recommend other files and required checkpoint updates (LCU)
7. Run abbodi's W10MUI script to create patched MUI iso with FR,DE,US
 
I have now completely abandoned the plan with the MCT version—it simply doesn't make sense. Apparently, the MCT is just as faulty as an older ADGUARD version I previously used. I have now started completely from scratch based on ADGUARD, integrating all language packs (LPs) and updates there.

I am still using "Sysprep & Capture" in an offline VM (an Administrator account is created). However, I now perform the capture exclusively with "DISM++" (no more "GimageX"). Afterward, I further refine the created WIM using "NTLite" (driver integration, settings adjustments, cleanup). My approach is identical for "Win10_22H2," "Win11_23H2," and "Win11_24H2," and it works for all three editions.

All three editions are deployed via "WDS/MDT" on a wide variety of devices, with several post-processing steps applied during installation. Overall, the project is quite complex, and I couldn't precisely pinpoint the previous errors. In general, I can say that "less is often more"—rolling back some of my previous cleanup steps likely played a crucial role in resolving issues. Interestingly, despite contradictory size indications in "NTLite," the final WIM size is not significantly larger than before (ranging between 6.2 - 6.7 GB). The larger size (compared to 4.7 GB) makes WDS deployments take slightly longer, but it is still acceptable.

Final result: Both the language selection and an "offline installation" with user setup work flawlessly.

I want to thank everyone involved for their tips and suggestions.
 
Back
Top