LanguagePackManagement CSP

Logo of Windows Insider.

Important

This CSP contains some settings that are under development and only applicable for Windows Insider Preview builds. These settings are subject to change and may have dependencies on other features or services in preview.

The Language Pack Management CSP allows a way to easily add languages and related language features and manage settings like System Preferred UI Language, System Locale, Input method (Keyboard), Locale, Speech Recognizer, User Preferred Language List. This CSP can be accessed using the new LanguagePackManagement PowerShell module.

The following list shows the LanguagePackManagement configuration service provider nodes:

Install

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install

Language to be installed or being installed.

Description framework properties:

Property name Property value
Format node
Access Type Get

Install/{Language ID}

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install/{Language ID}

Language tag of the language to be installed or being installed.

Description framework properties:

Property name Property value
Format node
Access Type Add, Delete, Get
Dynamic Node Naming UniqueName: Language tag of the language to be installed or being installed.

Install/{Language ID}/CopyToDeviceInternationalSettings

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install/{Language ID}/CopyToDeviceInternationalSettings

Copies the language to the international settings (that is, locale, input layout, speech recognizer, preferred UI language) of the device immediately after installation if the value is true. Default value is false.

Description framework properties:

Property name Property value
Format bool
Access Type Add, Delete, Get, Replace
Default Value false

Allowed values:

Value Description
false (Default) Don't copy the language to the international settings immediately after installation.
true Copy the language to the international settings immediately after installation.

Install/{Language ID}/EnableLanguageFeatureInstallations

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install/{Language ID}/EnableLanguageFeatureInstallations

Enables installations of all available language features when the value is true. Default value is true.

Description framework properties:

Property name Property value
Format bool
Access Type Add, Delete, Get, Replace
Default Value true

Allowed values:

Value Description
true (Default) Install all available language features.
false Install only the required language features.

Install/{Language ID}/ErrorCode

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install/{Language ID}/ErrorCode

Error code of queued language installation. 0 if there is no error.

Description framework properties:

Property name Property value
Format int
Access Type Get

Install/{Language ID}/StartInstallation

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install/{Language ID}/StartInstallation

Execution node to queue a language for installation on the device.

Description framework properties:

Property name Property value
Format null
Access Type Exec

Install/{Language ID}/Status

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/Install/{Language ID}/Status

Status of the language queued for install. 0 - not started; 1 - in progress; 2 - succeeded; 3 - failed; 4 - partially succeeded.

Description framework properties:

Property name Property value
Format int
Access Type Get

InstalledLanguages

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages

Languages currently installed on the device.

Description framework properties:

Property name Property value
Format node
Access Type Get

InstalledLanguages/{Language ID}

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/{Language ID}

Language tag of an installed language on the device. Delete to uninstall.

Description framework properties:

Property name Property value
Format node
Access Type Delete, Get
Dynamic Node Naming ClientInventory

InstalledLanguages/{Language ID}/LanguageFeatures

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/{Language ID}/LanguageFeatures

Numeric representation of the language features installed. Basic Typing - 1 (0x1), Fonts - 2 (0x2), Handwriting - 4 (0x4), Speech - 8 (0x8), TextToSpeech - 16 (0x10), OCR - 32 (0x20), LocaleData - 64 (0x40), SupplementFonts - 128 (0x80).

Description framework properties:

Property name Property value
Format int
Access Type Get

InstalledLanguages/{Language ID}/Providers

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/{Language ID}/Providers

Numeric representation of how a language is installed. 1 - The system language pack is installed; 2 - The Local Experience Pack is installed; 3 - Both are installed.

Description framework properties:

Property name Property value
Format int
Access Type Get

LanguageSettings

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/LanguageSettings

Language settings of the device.

Description framework properties:

Property name Property value
Format node
Access Type Get

LanguageSettings/SystemPreferredUILanguages

Scope Editions Applicable OS
✅ Device
❌ User
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅ Windows Insider Preview
./Device/Vendor/MSFT/LanguagePackManagement/LanguageSettings/SystemPreferredUILanguages

System Preferred UI Language of the device.

Description framework properties:

Property name Property value
Format chr (string)
Access Type Get, Replace

Examples

  1. Enumerate installed languages and features with GET command on the "InstalledLanguages" node. Below are the samples:

    GET./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages GET./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/zh-CN/Providers GET./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/zh-CN/LanguageFeatures GET./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/ja-JP/Providers GET./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/ja-JP/LanguageFeatures

    The nodes under InstalledLanguages are the language tags of the installed languages. The providers node under language tag is an integer representation of either language pack or LXPs.

    • 1- Indicates that only the Language Pack cab is installed.
    • 2- Indicates that only the LXP is installed.
    • 3- Indicates that both are installed.

    The LanguageFeatures node is a bitmap representation of what Language Features are installed for a language on a device:

    • Basic Typing = 0x1
    • Fonts = 0x2
    • Handwriting = 0x4
    • Speech = 0x8
    • TextToSpeech = 0x10
    • OCR = 0x20
    • LocaleData = 0x40
    • SupplementFonts = 0x80
  2. Install language pack and features with the EXECUTE command on the StartInstallation node of the language. The language installation will try to install the best matched language packs and features for the provided language.

    Note

    If not previously set, installation will set the policy to block cleanup of unused language packs and features on the device to prevent unexpected deletion.

    • Admins can optionally copy the language to the device’s international settings immediately after installation by using the REPLACE command on the "CopyToDeviceInternationalSettings" node of the language. false (default)- will take no action; true- will set the following international settings to reflect the newly installed language:
      • System Preferred UI Language
      • System Locale
      • Default settings for new users
        • Input Method (keyboard)
        • Locale
        • Speech Recognizer
        • User Preferred Language List
    • Admins can optionally configure whether they want to install all available language features during installation using the REPLACE command on the "EnableLanguageFeatureInstallations" node of the language. false- will install only required features; true (default)- will install all available features.

    Here are the sample commands to install French language with required features and copy to the device's international settings:

    1. ADD ./Device/Vendor/MSFT/LanguagePackManagement/Install/fr-FR/
    2. REPLACE ./Device/Vendor/MSFT/LanguagePackManagement/Install/fr-FR/CopyToDeviceInternationalSettings (true)
    3. REPLACE ./Device/Vendor/MSFT/LanguagePackManagement/Install/fr-FR/EnableLanguageFeatureInstallations (false)
    4. EXECUTE ./Device/Vendor/MSFT/LanguagePackManagement/Install/fr-FR/StartInstallation

    The installation is an asynchronous operation. You can query the Status or ErrorCode nodes by using the following commands:

    GET./Device/Vendor/MSFT/LanguagePackManagement/Install/fr-FR/Status GET./Device/Vendor/MSFT/LanguagePackManagement/Install/fr-FR/ErrorCode

    Status: 0 – not started; 1 – in progress; 2 – succeeded; 3 – failed; 4 - partial success (A partial success indicates not all the provisioning operations succeeded, for example, there was an error installing the language pack or features). ErrorCode: An HRESULT that could help diagnosis if the installation failed or partially failed.

  3. Delete installed Language with the DELETE command on the installed language tag. The delete command is a fire and forget operation. The deletion will run in background. IT admin can query the installed language later and resend the command if needed. Below is a sample command to delete the zh-CN language.

    DELETE./Device/Vendor/MSFT/LanguagePackManagement/InstalledLanguages/zh-CN

    Note

    The deletion will ignore the policy of block cleanup of unused language packs.

  4. Get/Set System Preferred UI Language with GET or REPLACE command on the "SystemPreferredUILanguages" Node

    ./Device/Vendor/MSFT/LanguagePackManagement/LanguageSettings/SystemPreferredUILanguages

Configuration service provider reference