Reduce the size of multilingual Windows images with LXPs
Published Jul 02 2020 02:51 PM 9,677 Views
Microsoft

With Windows 10, version 2004, OEMs and system administrators can now package Windows images with Local Experience Packs, or LXPs.

With Windows 10, version 1803, we started to deliver language translations via Local Experience Packs, also referred to as LXPs. LXPs are smaller than their lp.cab counterparts because they only contain a subset of language translations that cover most of Windows. Once the device is connected to the internet the rest of the translations are downloaded to the device. As an OEM or system administrator; however, you previously had to add lp.cab for full languages (SKU languages) to the OS image using Deployment Image Servicing and Management (DISM).

Now that OEMs and system administrators can package images with LXPs, there can be significant storage space savings. Specifically, devices with LXP-backed images can support more than twice as many languages out of the box with less than half the storage space[1] needed by traditional lp.cab-backed images.

The table below gives an overview of common language configurations and the potential space savings[2] that LXPs can provide.

Note: When creating images with LXPs, at least one lp.cab will still be required.

 

Image configuration

Total lp.cab size (on disk)

Total LXP size (on disk)

Space reduction

Global
(~40 languages)

7.1 GB

2.47 GB

~65%

European
(~25 languages)

5.2 GB

1.8 GB

~65%

While Language Interface Packs (LIPs) are only supplied as LXPs, full languages are supplied both as LXPs and lp.cabs.

To add an LXP to your Windows image, you will need to use the AddProvisionedAppXPackage cmdlet. Once you have added an LXP to your image, you should see the following behavior.

  • The languages backed by LXP will show up on the language selection screen during the out-of-box experience (OOBE).
  • Once the user selects their language, all subsequent screens of the OOBE will be in the corresponding language. Since the LXP has only a subset of operating system strings available, some of the content in OOBE may fall back to the base language. This is on parity with current behavior.
  • The first login experience post-OOBE will be in the selected language.

Things to be aware of

When creating an LXP-powered image, please be aware of the following pre-conditions:

  • The System Default UI Language can only be set to a language that is backed by lp.cab. To have the system display a language backed by LXP, you will need to set the User UI Language setting to that language. For more information, see User Interface Language Management.
  • After OOBE, the PC must be connected to the internet to download resources and complete the localization experience as LXPs only contain a subset of all translations. If a device is not able to connect to WSUS after installation, then it is recommended that lp.cabs be used instead.
  • LXPs only carry language resources for Features on Demand (FODs) with satellite language resources preinstalled by Microsoft. If other FODs with satellite resources are added to the image, language resources will be downloaded later in the background, when LXPs are used. For more information on how to enable FODs with satellite language resources out of the box. see Features On Demand.

For more information, see Adding languages in Windows 10: Known issues.


[1] Storage savings are estimates, actual space savings will vary. 

[2] The savings displayed on the table primarily correspond to the image size. After the Windows Installation is complete, unused languages will be removed from the system. 

11 Comments
Iron Contributor

@Yuri_Blaise wrote:

Once the device is connected to the internet the rest of the translations are downloaded to the device.

And that's bad. Users call me to complain about their Internet speed and Windows having occupied their bandwidth. They have to speculate about Windows is doing with their bandwidth. Since they don't even know whether it is upload or download, some of them speculate that "Microsoft is spying on me". (This piece of conspiracy theory is not going away anytime soon.) Others outright claim that their device is infected with malware.

It is not called "saving" if one has to get it later. I'd rather give my users the full experience.

Microsoft

@Yuri_Blaise wrote:
  • After OOBE, the PC must be connected to the internet to download resources and complete the localization experience as LXPs only contain a subset of all translations. If a device is not able to connect to WSUS after installation, then it is recommended that lp.cabs be used instead.

Shouldn't it be MU, in this sentence? 

Nevertheless, great post. I looking forward for the next one. Maybe about what is partially localized vs. fully localized and/or how the Modern Apps language is configured properly. :lol:

are these LIPs / LPX packages updated via Store (hopefully) ? @Yuri_Blaise 

"Once the device is connected to the internet the rest of the translations are downloaded to the device."

 

I don't think so as, when not using WSUS, you can leverage Delivery Optmization, cannot we @Yuri_Blaise 

Steel Contributor

As I understand, lp.cab files are not supported anymore for 1809 and later. And LXPs must be set in the OOBE or by the user. So how do you create a multilingual Windows image where you set the language via unattend.xml? I haven't found any solution yet, which complicated our deployment since lp.cab files have been deprecated.

Haven't encountered that @Daniel Niccoli 

Steel Contributor

@Yuri_Blaise  can you help me out with my question above?

Microsoft

@Daniel Niccoli  Lp.cabs haven’t been deprecated and are still available as of version 2004 via ISO. For more information on how to create multilingual image with Lp.cabs or LXPs see our guide here.

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-language-packs-to-windows

Microsoft

@Karl_Wester-Ebbinghaus Sorry I‘m not sure if I completely understand but in order for the additional translations to be downloaded the device will need access to Windows Update or WSUS, and yes they are updated through via the store :smiling_face_with_smiling_eyes:.

Microsoft

@Marius Wyss Thank you!

 

And yes you are correct, the additional translations can be downloaded via Microsoft Update, Windows Update or WSUS

Microsoft

@The_Smart_One 

Lp.cabs are still available for all SKU languages and should be used in situations where the device doesn’t have access to Microsoft Store or Windows Update. If you would like to still use LXPs without access to Microsoft servers the additional translations won’t be downloaded but non-admin users shouldn’t see any fallback.  Only certain admin components like PowerShell will fallback to the install language without the additional translations.

Co-Authors
Version history
Last update:
‎Feb 02 2023 12:27 PM
Updated by: