PowerShell GUI for Downloading Language Packs - W10_11LangPack.ps1

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.
Thanks for the report.

As abbodi86 knows from experience, sometimes a specific build will disappear from the WU back-end. I've pushed out a fixed version:
Code:
# Cumulative Update for Windows 11 Insider Preview (10.0.26100.1)

$UUP_Table = ConvertFrom-Csv @'
    UpdateID,                              Version, Arch
    82bfaf56-2ef9-49ce-89fa-daa9c9eaff11,  "W11 24H2", x64
    294aa40d-f466-4071-8654-d952a9a68ac1,  "W11 24H2", arm64
 
Would you mind add support for si-lk (sinhala - Sri Lanka) language. Thank you
I thought this would be trivial to add another locale, but UUP dump's JSON API isn't returning the correct JSON for UpdateID 82bfaf56-2ef9-49ce-89fa-daa9c9eaff11.

abbodi86, can you ping the UUP dump folks?

Microsoft-Windows-SenseClient-FoD-Package-amd64.cab is enumerated TWICE.
https://uupdump.net/findfiles.php?i...oft-Windows-SenseClient-FoD-Package-amd64.cab

Code:
PS C:\Users\GARLIN\Downloads\W10_11LangPack> $JSON = (Invoke-WebRequest -UseBasicParsing -Method Get -Uri "https://api.uupdump.net/get.php?id=82bfaf56-2ef9-49ce-89fa-daa9c9eaff11" | ConvertFrom-Json)
ConvertFrom-Json : Cannot convert the JSON string because a dictionary that was converted from the string contains the duplicated keys 'Microsoft-Windows-SenseClient-FoD-Package-amd64.cab' and 'Microsoft-Windows-SenseClient-Fod-Package-amd64.cab'.
At line:1 char:138
+ ... /get.php?id=82bfaf56-2ef9-49ce-89fa-daa9c9eaff11" | ConvertFrom-Json)
+                                                         ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [ConvertFrom-Json], InvalidOperationException
    + FullyQualifiedErrorId : DuplicateKeysInJsonString,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

Until then, I can only return the Sinhala language pack for W11 23H2's UpdateID but not 24H2's.
 
garlin
The second cab file(s) are used for express uup upgrades (WU)
uupdump doesn't exclude them properly

however, express cabs filename are always appended with "_hash" string
so, you can for example exclude any files with "_" character
 
For a workaround, I would use the PowerShell GUI for Downloading Windows ADK, WinPE, LP & FOD ISO's - W10_11ADK_WinPE_LP_FOD.ps1 script, and download the 24H2 or 22H2/23H2 LP & FOD ISO.

1. Extract or mount the ISO.
2. Under the LanguagesAndOptionalFeatures folder, you will find:
Microsoft-Windows-LanguageFeatures-Basic-si-lk-Package~31bf3856ad364e35~amd64~~.cab​
Microsoft-Windows-LanguageFeatures-Fonts-Sinh-Package~31bf3856ad364e35~amd64~~.cab​
Thank you very much.
 
garlin
The second cab file(s) are used for express uup upgrades (WU)
uupdump doesn't exclude them properly

however, express cabs filename are always appended with "_hash" string
so, you can for example exclude any files with "_" character
After more research on this subject of duplicated keys, it turns out:

1. JSON spec does allow for duplicate key names.
PS 5.1 will only keep the value of the last duplicated key, but PS 6+ will create a value array for each duplicated key.​
2. JSON is case-sensitive, but PS isn't in regard to key names. Which leads to a namespace collision error in 5.1.

3. I found an alternative parsing hack from this PS bug report as a workaround.


I should merge the two scripts, but I'm too lazy to refactor code right now.

If you need any other language files than the 18 official editions, use this updated script (which expands the previous version which only did Indonesian and Vietnamese).
 

Attachments

Any knowledge about current bugs? When I want to dowload a pack I get the below error...
View attachment 13605
W10_11LangPack-ID-VN.ps1 has been retired. UUP dump changed the server results, and so your version is out of date.

If you need Language Packs outside of the 18 normal Windows languages, please use W10_11LangPack_NonLocal.ps1 from post #168. The usual UUP dump API cannot be used to find the other language files, so it will take several seconds before you get a response.
 
Ok, I downloaded the LP and injected to my image. During OOBE I can see corretly languale list, but I have problem with native apps like calc, paint, notepad, snipping tool etc. I added with dism packages from screen shot, but when I choose, for example "czech language" I can see english names...

eEu9jS9.png



Above I described the first problem, but I have another one. That modified .wim I deployed via MDT and that works, but what about, when I would to install Operating System from usb? All I should to do is replacing .wim file in 'source' directory on my usb pendrive? Honestly I just did that and that solution are not working corretly...

jNdgJWi.jpeg
 
Ok, I downloaded the LP and injected to my image. During OOBE I can see corretly languale list, but I have problem with native apps like calc, paint, notepad, snipping tool etc. I added with dism packages from screen shot, but when I choose, for example "czech language" I can see english names...
This is a separate but related problem.
Language Packs do not include local versions of Default Apps, which are provided on the Language and Optional Features (LSOF) ISO.

There are different versions of the ISO, depending on your Windows release.
https://www.ntlite.com/community/index.php?threads/language-packs.17/post-21700

Download the right ISO, and you will find the language update files for apps like Notepad. Add those package files from NTLite's Update screen.
PowerShell GUI for Downloading Windows ADK, WinPE, LP & FOD ISO's - W10_11ADK_WinPE_LP_FOD.ps1

Above I described the first problem, but I have another one. That modified .wim I deployed via MDT and that works, but what about, when I would to install Operating System from usb? All I should to do is replacing .wim file in 'source' directory on my usb pendrive? Honestly I just did that and that solution are not working corretly...
MDT has an entirely different design for installing & updating Windows images. Because MDT is network-based, it separates boot.wim and install.wim from the ISO and places them on network shares. boot.wim is updated with extra scripts, so it can be PXE booted. After WinPE is running, it mounts the network share containing the install WIM.

The normal MDT philosophy is you take a clean ISO, and use task sequences to script adding KB updates, and other optional features after the Windows system is installed. This can be less work for the IT admin, because you don't need to rebuild an ISO. Instead you're updating task sequences whenever a new change needs to be applied.

NTLite was designed for running from the ISO, so all changes are directly integrated into the images. There is no reason why MDT cannot use a modded ISO, since MDT imports the boot.wim & install.wim. What is missing is any other files on the ISO, which NTLite uses to stage the Post-Setup files and scripts. If you're using MDT, then you make task sequences to do the same work.

A NTLite modded ISO can be used from USB, and be the same source of your MDT install images.
 
I'm sorry, I feel like we misunderstood each other. In general, I am a layman when it comes to handling MDT (thank you for your valuable advice) and that's why I used NTlite modified images there. What you see in the earlier screenshots are instances implemented by MDT (pxe wds etc.).

1. I would like my flash drive that I formatted and created by MediaCreationTool to also support this modified install.wim file. Therefore, I removed the original install.esd file from the flash drive and replaced it with .wim, which now works with MDT. Unfortunately, after installation, the OOBE interface displays immediately in the default language and there is no that first board with the selection of languages whose packages were added by NTLite. What am I doing wrong?

2. The next issue is a question to you, which .cab package is responsible for changing the languages of applications such as calculator, clock and other native applications? In the ISO FoD, I found only Paint, Notepad, MediaPlayer and SnippingTool. This question goes beyond the operation of NTlite, so I would appreciate your help.
 
When you add more Languages to an image, it doesn't change the OOBE's interface. If there is no autounattend.xml file on the ISO, OOBE is displayed in the ISO's base language. When there is autounattend.xml, you can select a different OOBE language.

For the non-FOD apps, their localizations are contained inside the Language Packs. If the icon names are wrong, they follow the current locale you have set on the language bar.
 
Hi a quick question! I'm using Windows 11 23H2 and i have successfully downloaded and integrated several LP's and FOD's in my image but i have just one issue. When i change a language in the OS, after sign out/sign in the windows language is fully changed but the APPX applications (Calculator, Snipping Tool, Sticky Notes and so on) still revert to the native ISO image that's english (regional settings and Administrative settings are not set to english). I have integrated LP's, FOD's and Inbox Apps. How can i solve this?
 
Do you inject the latest cumulative update correctly?
Yeah, i think so. The build is reporting the latest patch (February), but i will reprocess everything from scratch. One thing i have found is that if i run the Microsoft Store updates, the apps get the languaged fixed.
 
Just to make sure, you're installing LP's and FOD's to the base image first, and then applying changes before installing any Updates? If you perform this out of order, the wrong language appears onscreen until the updates get re-applied.
 
Just to make sure, you're installing LP's and FOD's to the base image first, and then applying changes before installing any Updates? If you perform this out of order, the wrong language appears onscreen until the updates get re-applied.
I have already started from scratch and have applied FOD's and LP's first, then removed some minor features, and in the end applied all the updates including the February Cumulative. All languages show in Windows Setup and in the OOBE and display just fine. All languages are also available for user profile after running the script to enable for the users. Only the Windows Apps like Snipping Tool, Sticky Notes, Calculator and so on just get to display the correct language after opening the Microsoft Store and run all the updates in there. I am inclined to say that this is by design.
 
Back
Top