PowerShell GUI for Downloading Language Packs - W10_11LangPack.ps1

Can you create a program that integrates the script W10MUI (abodi) script with your pwershell GUI
I don't see the point. W10MUI is written for users who don't have NTLite, or other image modding tools.

Both software overlap in most basic LP and local FOD package integration functions. W10MUI does some work that NTLite doesn't, like adding a language selection menu in WinPE or including local versions of Features on Demand (FOD) packages. LIP's & LXP's are still not that popular, mostly because they don't completely cover all parts of the Windows UI.

You can find FOD's on the list of Optional Features here: Language Packs
Extracted FOD packages can be added as local Updates.

I'm not trying to replace NTLite, but make it easier to locate the required files it needs to add language support. If you think NTLite needs more integration features, share your feedback with nuhi.
 
Sorry, that's not how it works.
LP's don't get refreshed after the RTM or GA releases, and 22H2 & 23H2 share the same LP's.

Windows 11, version 22H2 (22621.1) amd64
Code:
d41c9188d2cda4138840bf499c173a40d72af6cb *Microsoft-Windows-Client-LanguagePack-Package_en-us-amd64-en-us.esd
e7e86fcb2cb686c1944782c274da8042c962983d *Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64.cab
cd1424a3c5a4dc0e5cf36fe0c8d48c5342352ac1 *Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64_cd1424a3.cab
84e2492629838ba9498493fd702888d4fe522874 *Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-amd64.cab
6a520a35555da88b9391d9def6721b7b72c7fee0 *Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-amd64_6a520a35.cab
b6b475c452556c54191d2c269ef5435637345f36 *Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64.cab
da4aed69783b27b0d94e7e23ebce34ba0e428621 *Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64_da4aed69.cab
66d8a6c549aefaffc2792a5a890c397e5bcd78eb *Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64.cab
2e4fc62f9539025000d692040af056656edce522 *Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64_2e4fc62f.cab
b17d8087aeff2464be827842051b23fb39bdf5e0 *Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64.cab
d2d19c1887d2075aeb6abd4e986f0ac5bd4f09b7 *Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64_d2d19c18.cab

Windows 11, version 23H2 (22631.3520) amd64
Code:
d41c9188d2cda4138840bf499c173a40d72af6cb *Microsoft-Windows-Client-LanguagePack-Package_en-us-amd64-en-us.esd
e7e86fcb2cb686c1944782c274da8042c962983d *Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64.cab
cd1424a3c5a4dc0e5cf36fe0c8d48c5342352ac1 *Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64_cd1424a3.cab
84e2492629838ba9498493fd702888d4fe522874 *Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-amd64.cab
6a520a35555da88b9391d9def6721b7b72c7fee0 *Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-amd64_6a520a35.cab
b6b475c452556c54191d2c269ef5435637345f36 *Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64.cab
da4aed69783b27b0d94e7e23ebce34ba0e428621 *Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64_da4aed69.cab
66d8a6c549aefaffc2792a5a890c397e5bcd78eb *Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64.cab
2e4fc62f9539025000d692040af056656edce522 *Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64_2e4fc62f.cab
b17d8087aeff2464be827842051b23fb39bdf5e0 *Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64.cab
d2d19c1887d2075aeb6abd4e986f0ac5bd4f09b7 *Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64_d2d19c18.cab

My script clearly lists which UpdateID's are used for querying files.

As abbodi will confirm, MS can randomly invalidate some of the oldest UUP sets and you need to substitute the nearest build version that's still available. The script prints the SHA-1 file hashes so you can confirm them against a known reference.
 
Hello, I am new with ntlite but somehow i make a custom ISO of win11 fully updated and functionall XD:cool: and now for the next step i want to make it multi-language (es-es, es-mx over en-us base).From a previous post from garlin i think he post that we need in win11 ( FOD disk + Inbox App).

I have this ISO (22631.3668.240510-1748.23H2_NI_RELEASE_SVC_PROD2_CLIENTPRO_OEMRET_X64FRE_EN-US) from UUPDump and i read that the inbox app are multi language right? So i dont need the inbox only the FOD now?

Because the FOD from (github Microsoft Docs is version 22621) i download the language packs from uup.rg-adguard.net (downUUP_22631.3668_es-mx_amd64_lang.cmd) and the rest of the package i search for them from UUPDump search ISO (https://uupdump.net/findfiles.php?id=593f698d-708d-4d73-a5d2-811bfbf7c133&q=es-mx) but there are too many files i dont need, how i select the right files?

I am doing it right? Sorry the extension of the post. Saludos from argentina.

One more think in the ISO from UUPDump y select net3.5 , in ntlite after get all i need the steps are: mount ISO, add Languages + FOD (for es-es , es -mx) aply, then reload ISO and add updates again for cumulative and then burn ISO?
 
Last edited:
UWP Apps are multi-language by default. But Feature on Demand packages will have local language versions, and you need another script to download the LSOF (LP + FOD) ISO.

PowerShell GUI for Downloading Windows ADK, WinPE, LP & FOD ISO's - W10_11ADK_WinPE_LP_FOD.ps1

W11 22H2 & 23H2 share the same LSOF. After you mount or extract the ISO, add the local versions for each of your FOD packages under the Updates screen. Now your FOD's will be translated into different languages.
 
Hello, thanks for making this script. But how do I add another language not available in the option? I edited the txt file, but when I chose the option, the script just closed immediately after opened.
 

Attachments

  • Screenshot_20240710_075408.png
    Screenshot_20240710_075408.png
    24.6 KB
I've previously commented that my script doesn't handle Indonesian or Vietnamese languages, due to limitations in UUP dump's preferred API.

I did write an alternate version of the script, which uses a different API but is much slower in performance. But it's not officially released because I wasn't sure if UUP dump was going to continue supporting outsiders this API.

Just for Indonesian or Vietnamese users, try this script. Everyone else should use the normal script.

UPDATE: This file is removed, it's been replaced by a newer script in post #168.
 
Last edited:
Ah, I must have missed that part then.

I see. It's quite unfortunate that it just has to be that way.

Still, thanks a lot!
 
Last edited:
There are 18 supported Windows language editions (complete ISO's or ESD files for official download). UUP dump follows this rule, and provides a fast API to search files from those 18 languages.

Languages outside of the 18 can only be searched by a "show all files" API, which is very expensive for UUP dump to generate. But there is no other way to search for the remaining languages and I don't want to make the slow API the default one.
 
There are 18 supported Windows language editions (complete ISO's or ESD files for official download). UUP dump follows this rule, and provides a fast API to search files from those 18 languages.

Languages outside of the 18 can only be searched by a "show all files" API, which is very expensive for UUP dump to generate. But there is no other way to search for the remaining languages and I don't want to make the slow API the default one.
That's understandable.
 
There are 18 supported Windows language editions (complete ISO's or ESD files for official download). UUP dump follows this rule, and provides a fast API to search files from those 18 languages.

UUP and ESD are 38 languages actually :)

only Insider Preview ISO are 18 langs
 
Hey

It seems that the script is looking for UpdateID 3d68645c-e4c6-4d51-8858-6421e46cb0bb when targetting W11 24H2 x64. (Build 26100.1)
For me it returns an empty list.
Tried to change it to f85d43a4-60e9-4607-8997-a761beb7ef77 (Build 26100.2) and got the script working.
Arm64 a350067e-8331-4f33-bc25-bd463f8b4917 (Build 26100.1) seems to also be invalid.
Substituting it for a7c6c75e-5d2b-4d77-b7dd-5588614da877 (Build 26100.2) returns an valid list.
 
The "Cumulative Update" equivalents are working (yeah, it's CU without any CU :D)
82bfaf56-2ef9-49ce-89fa-daa9c9eaff11
294aa40d-f466-4071-8654-d952a9a68ac1
 
Back
Top