In this article, we’ll show how to deploy fonts using Intune for Windows 10 and Windows 11 devices. We will explore various methods for font deployment with Intune, such as PowerShell scripts, the Win32 app, and the Master Packager tool.
Last week, our customer wanted to deploy multiple fonts to all their Windows devices with Intune. Is there a simple way to use fonts in Intune, they asked? Because there is no default option for deploying fonts to Intune devices, we had to suggest an easy method to install the fonts.
On Windows devices, there is a dedicated folder for fonts. Windows does come with a set of preinstalled fonts. When you install a custom font, it is installed in the C:\Windows\fonts directory. In addition, the font information is added to the following registry path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Fonts.
On Windows devices, if you right-click a custom font and select Install, the font gets installed in no time. This is called manual installation of fonts. Users cannot perform manual font installation in organizations because it is restricted. However, if your Windows devices are managed by Intune, you can automate the font installation using different techniques.
Ways to install fonts on Windows devices using Intune
Broadly, there are three ways to install fonts on Windows devices with Intune.
- PowerShell Script: You can use PowerShell scripts to deploy fonts to Windows devices through Intune. You can use the same PowerShell scripts to deploy fonts with Configuration Manager.
- Intune Win32 App: With this method, you package the fonts into a Win32 app and then deploy it with Intune along with PowerShell scripts. Learn more about using Win32 apps in Intune.
- Master Packager Tool: This tool can create and edit Microsoft Windows Installer (MSI) files for free. You can package the fonts into an MSI file and deploy the fonts MSI package using Intune.
Each of the above methods has a common thing: they install the fonts in the C:\Windows\Fonts directory and update the information in the following registry path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Fonts.
Prepare the Font Files for Deployment
Before you think of deploying fonts using Intune, you should have the font files ready with you. Most organizations are licensed to use specific fonts, and these fonts are the ones that you are required to deploy. In this example, we have a set of fonts that we have chosen for deployment.
Windows font types primarily consist of .TTF and .OTF files. The custom fonts that you wish to deploy with Intune should have one of these file extensions. In the screenshot below, we have picked up two custom fonts for deployment. In your case, it could be some other licensed fonts that need to be deployed.
Method 1: Use PowerShell Scripts to Deploy Fonts using Intune
Microsoft GitHub has numerous PowerShell scripts that can assist you in using Intune to deploy fonts. Before you use the scripts for font deployment, you’ll need to edit the script and specify the source path of the font files. The source path is nothing but the location of the fonts that you wish to deploy.
You can use PowerShell scripts to install or remove particular fonts from Windows devices. The majority of these scripts should work, but you should test them to ensure they meet your needs.
For example, the below PowerShell script lets you deploy fonts using Intune. The PowerShell script reads both .TTF and .OTF files from the Fonts source directory, installs each of them in the C:\Windows\Fonts directory, and updates the registry for new fonts. As for deploying this script, you can refer to the guide on deploying PowerShell scripts using Intune.
Method 2: Create Win32 App in Intune for Fonts Deployment
A better approach for deploying fonts with Intune is to create a Win32 app package and deploy it to Windows devices. The .Intunewin file will contain the fonts that you intend to deploy along with the necessary PowerShell scripts.
Before you can add a Win32 app to Microsoft Intune, you must prepare the app by using the Microsoft Win32 Content Prep Tool. The tool converts application installation files into the .intunewin format.
In the following example, we will package the following files into a .intunewin file.
- Fonts: This folder contains the fonts that you want to deploy.
- FontsInstall.ps1: This script installs the fonts on Windows devices.
- FontsUninstall.ps1: This script removes the installed fonts from Windows devices.
- DetectionCheck.ps1: This script detects if the fonts are already present on the clients.
Note: The below PowerShell scripts were written for the customer who wanted us to install fonts using Intune. As mentioned earlier, if you require those PowerShell scripts, you can get similar ones from GitHub or other trusted sources. Most of the PS scripts that you download from GitHub should help you with font installation. Thoroughly test those scripts before deploying them in your organization. If you find it difficult to get those scripts, please let us know in the comments section, and we’ll assist you.
Now that you have gathered the fonts and PowerShell scripts needed, let us go over how to deploy custom fonts to Intune managed devices.
Step 1: Create .IntuneWin File for Fonts
In this step, we will use the Microsoft Win32 content prep tool to package font files into the .intunewin file. This resulting font package will be a .intunewin file that will be distributed using Intune.
On your Windows PC, launch the command prompt as administrator and change the path to the folder that contains the Win32 content prep tool. Run the command IntuneWinAppUtil.exe.
When you enter the above command, you need to input the details.
- Please specify the source folder: Specify the folder that contains font files.
- Please specify the setup file: Specify the PS script file for font installation.
- Specify the output folder: The Win32 Content Prep tool will place the final .intunewin file in this folder. In this example, the output folder is C:\Temp.
- Do you want to specify catalog folder: Type N.
Wait for a few minutes while the Win32 Content Prep Tool runs and prepares the installfonts.intunewin app for you.
Step 2: Add the Fonts Package to Intune as Win32 App
In this step, we will upload the fonts .intunewin file (Win32 App) to Intune. Use the following steps to upload the Win32 app to Intune:
- Sign in to the Microsoft Intune admin center.
- Select Apps > Windows > Add.
- On the Select app type pane, under the Other app types, select Windows app (Win32).
On the App Information tab, click Select app package file. On the app package file pane, click the browse button. Then, select a fonts installation file with the extension .intunewin. The Win32 app details appear on the screen populated by Intune. When you’re finished, select OK in the App package file pane.
Step 3: Configure App Information for Win32 App
On the App Information tab, make sure you have selected the correct Win32 app for deployment. Enter the app name as “Install Fonts using Intune”. You can add a brief description of this Win32 app by clicking Edit Description.
Enter the publisher information and the category to which this app belongs. You may choose to display this as a featured app in the company portal by turning that slider to Yes. Specify other optional details about the app and when you are done, click Next.
Step 4: Specify Program Information
In this step, we’ll specify important information about the Win32 app. These are critical details that you must supply before you deploy fonts using Intune. Note that fonts deployment in Intune will fail with error 0x80070002 if the install or uninstall command is entered incorrectly.
- Install Command: %windir%\sysnative\windowspowershell\v1.0\powershell.exe -ExecutionPolicy Bypass -file .\fontsinstall.ps1
- Uninstall Command: %windir%\sysnative\windowspowershell\v1.0\powershell.exe -ExecutionPolicy Bypass -file .\fontsuninstall.ps1
- Installation time required (mins): 20 minutes
- Allow available uninstall: Yes
- Install behavior: System
- Device restart behavior: No specific action
When done, click on Review+Save.
Step 4: Configure Requirements for Deploying Fonts
On the Requirements page, specify the requirements that Windows devices must meet before the fonts Win32 app is installed. We have configured the following requirements for the app.
- Operating system architecture: Select the OS architecture as 64-bit.
- Minimum operating system: Select the minimum operating system, Windows 10 22H2.
If you want to configure additional requirement rules, you can do so by clicking +Add option. Click Next.
Step 6: Configure Detection Rules
While performing fonts deployment using Intune on Windows devices, a detection rule is essential. The detection rules are very similar to what we have in Configuration Manager for applications. The Win32 app installation is entirely decided on the rules that you specify here.
Add the detection rule by specifying the following:
- Rules format: Use a custom detection script
- Script file: Click on the browse icon and select the fonts detection script.
- Run script as 32-bit process on 64-bit clients: No
- Enforce signature check and run script silently: No.
You can specify app dependencies where the applications that must be installed before fonts can be installed. Any Win32 app dependency needs to also be a Win32 app. It doesn’t support depending on other app types, such as single MSI LOB apps or Microsoft Store apps. Click Next.
Step 7: Font Package Assignments
In this step, you must assign the font package to Windows devices. On the Assignments tab, you can select the Required, Available for enrolled devices, or Uninstall group assignments for the app. The options are explained below.
- Required: The Win32 app is installed on devices in the selected groups.
- Available for enrolled devices: Users install the Win32 app from the company portal app.
- Uninstall: The Win32 app is uninstalled from devices in the selected groups.
After you select your groups, you can also configure End user notifications, Availability, and Installation deadline for Win32 apps.
Step 8: Review + Create
On the Review+Create tab, go through the values and settings that you entered for the Win32 app, consisting of fonts. Verify that you configured the app information correctly. Select Create to add the Win32 app to Intune. We have successfully added fonts from the Win32 app to Intune.
Step 9: Monitor the Fonts Deployment using Intune
Once you have installed fonts as a Win32 app on your Windows devices, you can track their deployment status and installation progress in the Intune admin center. Intune provides detailed reports and logs, allowing you to troubleshoot any deployment issues and ensure successful app installation. Learn how to collect Intune logs from Windows devices.
When you create a Win32 app in Intune using the above steps, you must wait until the app is uploaded to Intune. To monitor the progress of Win32 app installation on Windows devices, go to Microsoft Intune admin center > Apps > Windows > Install Fonts Win32 app and select Overview.
If the installation of fonts is delayed or not happening, you can perform Intune policy sync on Windows devices. This will force Windows devices to check with Intune for the latest policies.
Step 10: End User Experience – Fonts Installation
After the Windows devices within the assigned groups receive the Fonts Install Win32 app, the fonts are installed on the computers. There are several ways to check if the new fonts are installed on Windows devices, which we will discuss in the following section. For now, to confirm if the fonts are installed by Intune on the Windows PC, go to C:\Windows\Fonts directory. In the search box, type the name of the font that we installed, and now you should see these fonts in the list as installed.
The custom fonts that we uploaded to Intune as a Win32 app are both installed on the device, as shown in the screenshot below. This confirms that you can deploy fonts as a Win32 app using Intune on Windows devices.
Method 3: Use Master Packager to Install Fonts using Intune [MSI Installer]
In this method, we will use the Master Packager tool to create an MSI installer for installing fonts with Intune. This is a relatively new tool, but it is extremely useful for administrators who package applications. Using this tool will save you time because the process of packing fonts into .msi files is extremely quick and simple. So let’s get started.
Download and Install Master Packager
Download and install the Master Package tool from their homepage. The community edition (free version) of the tool can create msi installers and is sufficient for most of the tasks. However, if you like the tool, you can go ahead and purchase the professional edition (paid version) to enjoy additional features.
Installing the Master Packager application is simple and straightforward. Double-click the installer and follow the wizard to install the tool. Once the master packager is installed, launch the application.
Create Fonts MSI Package
In this section, we will demonstrate the steps to create a .MSI installer containing custom fonts. Master Packager makes it very easy to package the fonts into an MSI installer file. Once we have created the fonts MSI installer, we will deploy it as a Line-of-Business app using Intune.
Launch the Master Packager tool and select New MSI.
Before you add the fonts to the MSI installer package, save the installer to a known location. In the screenshot below, we are going to specify the installer name as InstallFonts.msi.
On the General Information tab, specify the product name, product version and other basic details about the font package. Next, in the left pane select Files. This is where you add the fonts to the MSI package and build the installer.
In the Files section, go to [TARGETDIR] > WindowsFolder > FontsFolder. Browse to the folder where you have saved your custom fonts and drag the custom font files into the FontsFolder. On the Select CAB File window, select Build Now.
Note: In case you would like to add additional fonts to the MSI package, you can edit the installer and add it.
The FontsFolder now shows the fonts that you have added to the MSI package.
To save the above configuration, click File > Save. That’s it; the Fonts MSI package is ready for deployment. In the next step, we will distribute the fonts MSI package as an LOB app through Intune.
Deploy Fonts as LOB app in Intune
In this step, we will deploy the fonts MSI package using Intune. As this is an .msi installer, we will upload the installer as an LOB app in Intune and deploy it to Windows 10 and Windows 11 devices.
In our previous guide, we covered the steps for deploying MSI applications using Intune. We’ll use the same procedure to deploy fonts using Intune.
In the Intune admin center, go to Apps > Windows and select Add. Select the app type as a line-of-business app.
Click on Select app package file, click Browse and select the InstallFonts.msi file. The font package details are presented on the screen. Click OK.
On the App Information tab, enter some basic details about the application, such as name, description, publisher, developer, etc. Additionally, you may specify a logo for this application, which will appear in the company portal for users. Click Next.
Assign the application to Entra ID device groups. You can choose to assign the app as Required or Available for enrolled devices. In the below example, we have assigned the app to a device group as Required. Click Next.
Review all the app settings and click on Create. The MSI application is now uploaded to Intune for deployment.
Monitor Fonts Deployment in Intune
You can monitor the Fonts MSI application deployment in the Intune admin center. Under Apps > Windows, select the InstallFonts MSI app and go to the Overview tab. Here you can see the total number of devices on which the fonts have been installed successfully.
How to Verify Fonts Installation on Windows Devices
No matter what method you have selected for installing fonts using Intune, there are multiple ways to confirm if the font installation was successful. The majority of these methods necessitate manual verification, which can be done on a few devices to confirm the deployment.
Verify font installation from C:\Windows\Fonts location
When you deploy fonts using Intune on Windows devices, they are installed in the C:\Windows\Fonts directory. To verify if the custom fonts have been installed via Intune, go to the C:\Windows\Fonts directory and check for the fonts.
Check the font installation using Registry
For advanced users, the registry contains the list of fonts that are installed on the computer. Run the regedit.exe command on a Windows computer to launch the Registry editor. Browse to the following registry path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. Here, you can find all the fonts that are installed on the PC.
Verify the Fonts Installation using Notepad
When you install custom fonts on a Windows computer, you can use those fonts in the Notepad application. To confirm if the fonts are installed via Intune, open the Notepad application on a Windows computer. Go to Edit > Font, and under Font Settings, click the drop-down to choose a font. Here, you should find all the custom fonts installed on the computer.
Verify Custom Fonts Installation using Microsoft Word
If you are running Microsoft 365 apps or Office 2021 on your computer, launch the Microsoft Word app. If the font has been installed by Intune, it should appear in Microsoft Word when you select Fonts.
How to Uninstall Fonts using Intune
While creating the Win32 app for font installation, we specified the PowerShell script to uninstall the fonts in Intune. That should make it easy to remove the custom fonts with Intune. To uninstall the fonts, deploy FontsUninstall.ps1 to the devices.
If you have deployed fonts as an MSI app, they can be uninstalled by going to Control Panel > Programs and Features. From the list of apps, select the InstallFonts app and click Uninstall. The fonts will be uninstalled from the Windows PC.