Let’s see option #2 to deploy Deploy Windows App Win32 Using Intune. In this post, I’m going to take an example of language pack deployment using Endpoint Manager Intune. I have explained option #1 to deploy Windows 10 language pack as per Microsoft’s recommendation.
Introduction
I have explained Language Packs (LPs) vs Language Interface Packs (LIPs) Vs Local Experience Packs (LXPs) in the previous post. Let’s see how to deploy the Language pack using Intune Win32 application (IntuneWin) model.
To work on this solution, you need to get the specific Language Pack cab file. Microsoft still provides a download option of language pack files for all the supported languages.
Download CAB File
You can Windows 10, version XXXX Language Pack download from visual studio subscription or VLSC. Once you have the cab file called “Microsoft-Windows-Client-Language-Pack_64en-gb.cab” for en-GB language.
NOTE! – Localization packages for Windows, delivered as a .cab file, for example, Microsoft-Windows-Client-Language-Pack_x64_en-GB.cab. Includes UI elements like text for dialog boxes, menu items, and help files.
Install Windows 10 Language Pack
Now, the question is how to deploy this cab file using Intune (Language Pack Deployment)? There are several ways to install a Language pack apart from option #1. The following are some of the most used methods to install Language packs on Windows 10.
- DISM
- Example – Dism /Image:”C:\mount\windows” /Add-Package /PackagePath=”C:\repository\Microsoft-Windows-Client-Language-Pack_x64_en-GB.cab”
- PowerShell
- Example – Add-WindowsPackage -online “C:\Windows\Temp\LanPack\Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab”
NOTE! – In this guide, I’m going to use the PowerShell command to install a language pack.
Deploy Windows App Win32 Using Intune | Language Pack
As I mentioned above Intune Win32 application deployment is the best option to deploy Windows 10 Language Pack. Let’s create a batch file to deploy this CAB file via Intune and then create the IntuneWin package.
NOTE! – I don’t know whether this is the best way to deploy the Language pack to Intune managed Windows 10 devices. Let me know in the comments what you think?
Create a Batch File for Intune Win32 Application Deployment
- The following batch file is used as executable while creating the IntuneWin package. Let’s call it LanguagePack.cmd or LanguagePack.batch.
- Created a small script option as below to execute the batch file
MD C:\Windows\Temp\LanPack
Copy "%~dp0*.cab" C:\Windows\Temp\LanPack /Y
Copy "%~dp0*.ps1" C:\Windows\Temp\LanPack /Y
PUSHD C:\Windows\Temp\LanPack
PowerShell -NoProfile -ExecutionPolicy Bypass -Command Add-WindowsPackage -online -packagepath "C:\Windows\Temp\LanPack\Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab"
@echo 1.0>C:\Windows\Temp\LanPack\Ver1.0.txt
Del C:\Windows\Temp\LanPack\*.cab
Del C:\Windows\Temp\LanPack\*.ps1
NOTE! – Ver1.0.txt file and Folder Path C:\Windows\Temp\LanPack shall be used while creating the Win32 Application from Intune portal.
- Copy the content above and SAVE this file as LanguagePack.cmd
- LanguagePack.cmd is the SETUP file
Prepare Folder Structure for IntuneWin
- Copy the CAB file called “Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab” from the above downloaded ISO path “D:\x64\langpacks” to the Source folder where you already have languagepack.cmd file.
NOTE! – This guide is to deploy the en-GB language pack for Intune managed Windows 10 devices.
- Also, create the IntuneWin_Package folder to store the IntuneWin package.
Create IntuneWin Package
- Download the updated IntuneWinAppUtil.exe from GitHub
- Start the command prompt from the folder where you have downloaded the IntuneWinAppUtil.exe file –
- Run IntuneWinAppUtil.exe file
- C:\Users\Anoop C Nair\Downloads>IntuneWinAppUtil.exe
- Enter the Source Folder
- “C:\TEMP\GL- Language Pack en-GB\Source”
- Enter the SETUP file – LanguagePack.cmd (this file is created above!)
- Enter the OUTPUT folder details where the IntuneWin package will be created
- C:\TEMP\GL- Language Pack en-GB\IntuneWin_Package
- Let check the OUTPUT package (IntuneWin)
- LanguagePack.intunewin
Upload Win32 Application to Intune
- Login to Intune Devicemanagement.microsoft.com portal with appropriate access rights
- Navigate through – Apps -> Windows -> Windows Apps
- Click on +Add
- Select Windows App (Win32) and click on the SELECT button
App Information
- Click on the Select App package file hyperlink from App Information Tab
- Browse and Select the IntuneWin file (already created above)
- Click OK to continue
Name: LanguagePack.intunewin Platform: Windows Size: 22.48 MiB MAM Enabled: No
- Enter the Name of the Windows App Win32
- Language pack en-GB
- Enter Description of the Windows App
- Language pack en-GB
- Enter the Publisher’s name
- Microsoft
NOTE! – Above are the mandatory fields. If you want it’s ok to add other fields as well. I have shown one example of adding icons in the below screen capture.
Program
In this part of the process, you need to specify the commands to install and uninstall this app. As you might have noticed, there is a setup file that is used during the creation of the IntuneWin package. The same batch file name “LanguagePack.cmd” can be used for Install and uninstall in this scenario.
- Enter the Install command
- LanguagePack.cmd
- Enter the Uninstall command
- LanguagePack.cmd
- Install Behavior
- System
- Click on NEXT to Continue
NOTE! – I have only entered/filled the mandatory options. No need to change other options unless you have specific requirements.
Requirements
In this section, need to specify the requirements that devices must meet before the app is installed. I have only selected only the mandatory fields.
- Select Operating System Architecture
- 64-bit
- Select Minimum Operating System
- Windows 10 1809
Detection Rules
In this section, you shall select Configure app-specific rules used to detect the presence of the app.
- Select Manually Configure Detection Rules from the drop-down list Rules format
- Click on +Add to Create a rule that indicates the presence of the app.
- Select the Rule Type as a File
- Enter the details of Path – Full path of the folder containing the file to detect
- Enter the File Name to detect
- Select the Detection Method as File or Folder Exists
Dependencies
- Click on the NEXT button to continue via the Dependencies tab.
NOTE! – Software dependencies are applications that must be installed before this application can be installed. There is a maximum of 100 dependencies, which includes the dependencies of any included dependencies, as well as the app itself.
Scope Tag
In the scope tag section, you shall get an option to Configure scope tags for this Windows App Win32 application.
- Click on the +Select Scope Tags hyperlink option
- Search for the scope tag to add
- Click on the SELECT button
- Click on the Next button to continue
Assignments
Let’s define which devices or users shall get the Windows Apps Win32 application. In this scenario, I’m going to deploy this to all devices (why can’t I use en GB OS? well I can use and avoid this scenario). Targeting in Intune is always via either Azure AD device or User groups.
NOTE! – Any Win32 app deployed using Intune will not be automatically removed from the device when the device is retired. The app and the data it contains will remain on the device. If the app is not removed prior to retiring the device, the end-user will need to take explicit action on the device to remove the app.
Let’s decide whether you want this application should be deployed as REQUIRED or AVAILABLE or UNINSTALL. There are three options available in Intune assignment.
- Required – Select the groups for which you want to make this app required. Required apps are installed automatically on enrolled devices. Some platforms may have additional prompts for the end-user to acknowledge before app installation begins.
- Available for enrolled devices – Select the groups for which you want to make this app available. Available for enrolled devices apps are displayed in the Company Portal app and website for users to optionally install. Available assignments are only valid for User Groups, not device groups.
- Uninstall – Select the groups for which you want to uninstall the app. Apps with this assignment are uninstalled from managed devices in the selected groups if Intune has previously installed the application onto the device via an “Available for enrolled devices” or “Required” assignment on the same deployment.
Language pack deployment should be a required application in this scenario.
- Required
- Click on +Add Group
- Search for Azure AD groups
- Confirm the selected members
- Click on Select button to continue with the Win32 application assignment
- Click on the NEXT button to finish the assignment option
Review + Create
- Let’s click on CREATE button to finish the Windows app Win32 application
- This process shall start the uploading process of the IntuneWin application package to Intune
- Upload is in progress – How much time it will take to complete the upload? It depends on the size of the application and the Speed of internet connectivity
Results
- Here are the results of the Language Pack installation
- Deploy Windows App Win32 Using Intune Status!!
Resources
- Intune Win32 App Failure Log Collection Backend Secrets
- Intune Management Extension Level 3 Troubleshooting Guide Intune win32 App
- Intune Scope Tags Implementation Guide
- Intune Application Model Deployment Guide
Anoop, thanks so much for one of many articles that you have guided me with. My purpose for this particular application (and 10 more language packs) is to install them to devices in dynamic device groups. Those groups are based on specific Group Tags (Order ID) that are uploaded during the Autopilot import process. These groups are also used to join the devices to the correct OU across the globe.
I followed this one and the installation was successful in Intune, yet when I look at the Language Settings page on the client, the Windows Display Language is still English (United States) instead of the Czech LP that was installed. I realize the text file is the detection method and it is true, but there are no visible errors or failures. Can you help with the next steps to troubleshoot? Thanks
Hello – Yes there are caveats. Sometimes it needs a restart. To be honest, I didn’t get the solution working 100% all the time 🙁 I have explained this in the related post, we need to use PowerShell commands to make this work. Sometimes from user context and other times from system context More details.https://www.anoopcnair.com/intune-learn-to-deploy-windows-10-language-pack-step-by-step-mem/#Tips
Does this make sense?
Yes sir. I switched to your option #1 and used the store for business to assign the language experience pack to dynamic device groups. Our tenant admin had to approve the download for the organization, then a sync made them available. The PowerShell script to force the settings is a required assignment on those dynamic groups as well. Now if I import a device into AutoPilot with the correct Group Tag, the language piece is automatic. Works perfect! Thanks!!
Great! Thank you for the feedback.
Have you seen any issues with Win32 app detections? I have been trying to push the sccm client after wrapping it in intunewinapputil. During autopilot the deployment works, the client installs, but the detection of c:\windows\ccm folder never works. the logs show detecting c:\windows\ccm result failed so autopilot won’t continue or waits for 180 minutes for the timeout.
Is this a co-managed system? Are you sure the ccm folder is already created in the system? The detection works ok with the script which I mentioned in this post.