How to Deploy Windows Language Packs via Intune and PowerShell
Adding new language packs to your Windows devices can be a breeze when you use Intune and a simple PowerShell script. Follow these steps to package and deploy a language pack across your environment.
Step 1: Gather Your Files
First, download the language pack you need. You’ll get an .lcab file that matches your Windows version. Create a folder—let’s call it LanguagePack—and put these two items inside:
en-GB.lcab(or your chosen language code)Install-LanguagePack.ps1(the script you’ll use to install it)
Step 2: Create the Install Script
Open your favorite editor and paste this into Install-LanguagePack.ps1. Change en-GB to your language code as needed.
powershell# Path to the language pack file
$lpPath = "$PSScriptRoot\en-GB.lcab"
# Install the language pack
Add-WindowsPackage -Online -PackagePath $lpPath
# Set system UI, user language, and culture
Set-WinSystemLocale en-GB
Set-WinUserLanguageList en-GB -Force
Set-Culture en-GB
# Clean up the language pack file
Remove-Item $lpPath -Force
exit 0
This script installs the pack, applies it system-wide, and then removes the source file.
Step 3: Convert to a Win32 App Package
Intune needs a special wrapper. Download the Win32 Content Prep Tool from Microsoft. Then run:
powershell.\IntuneWinAppUtil.exe -c .\LanguagePack -s Install-LanguagePack.ps1 -o .\Output
You’ll end up with Install-LanguagePack.intunewin in your Output folder.
Step 4: Add the App in Intune
- Go to the Endpoint Manager admin center.
- Select Apps > Windows > Add > Windows app (Win32).
- Upload your
.intunewinfile. - Under Program, use:
- Install command:
powershell -ExecutionPolicy Bypass -File .\Install-LanguagePack.ps1 - Uninstall command: leave blank or point to a cleanup script.
- Install command:
- On Requirements, pick your Windows versions (e.g., Windows 10 or 11).
- For Detection rules, choose:
- Rule type: Registry
- Path:
HKLM:\SYSTEM\CurrentControlSet\Control\Nls\Language - Value name:
InstallLanguage - Value data: your language LCID (for English UK, it’s
0x809).
Step 5: Assign and Monitor
Finally, assign this Win32 app to the device groups you want. Head over to Device install status to see which devices succeeded and which need attention.
That’s all it takes. Your endpoints will download the package, run the script, and configure the new language pack automatically. Easy, right?

