How to deploy fonts to computers

Brigg Angus Headshot
Brigg Angus|Updated November 18, 2020
Generic blog header
Generic blog header

Did you know you can silently deploy fonts to your computers? Using a script, you can quickly and easily deploy fonts to as many computers as you need to within your business.

Sometimes we get surprised by the awesome things our customers use our products for. Emil Johanssen posted this response to a question on our support site. “How do I push fonts to a workstation?” Thanks, Emil for this awesome response! Below is his script.

How to Deploy Fonts

1. Create a script called ADD_Fonts.cmd (or something else of your choosing, just be consistent) and save it in the same folder as the font files you want to install. Alternatively, if you do not want to save the .cmd and fonts in the same folder, you can modify the script to reference the path where the fonts are located. Read Emil’s comments for further instruction on correct formatting

2. To apply the changes you will need to reboot the machine. You can use the provided command in the script:

shutdown -r -f -t 10 -c "Reboot required for Fonts installation"

(remove the REM from applicable commands) to have the script run the reboot.

3. Create a New Package, the default Install Step should be in place. Add ADD_Fonts.cmd in the Install File field. Check “Include Entire Directory” (unless you are modifying your script to find the fonts in another directory)

Blog   Add Fonts   Install Step

If you do not have a reboot within your script (see step 2) remember to add in a reboot step.

ADD_Fonts.cmd with reg add

@ECHO OFF TITLE Adding Fonts.. REM Filename: ADD_Fonts.cmd REM Script to ADD TrueType and OpenType Fonts for Windows REM How to use: REM Place the batch file inside the folder of the font files OR: REM Optional Add source folder as parameter with ending backslash and dont use quotes, spaces are allowed REM example "ADD_fonts.cmd" C:\Folder 1\Folder 2\ IF NOT "%*"=="" SET SRC=%* REM ECHO. REM ECHO Adding Fonts.. REM ECHO. FOR /F %%i in ('dir /b "%SRC%*.*tf"') DO CALL :FONT %%i REM OPTIONAL REBOOT REM shutdown -r -f -t 10 -c "Reboot required for Fonts installation" REM ECHO. REM ECHO Done! REM PAUSE EXIT :FONT ECHO. REM ECHO FILE=%~f1 SET FFILE=%~n1%~x1 SET FNAME=%~n1 SET FNAME=%FNAME:-= % IF "%~x1"==".otf" SET FTYPE=(OpenType) IF "%~x1"==".ttf" SET FTYPE=(TrueType) ECHO FILE=%FFILE% ECHO NAME=%FNAME% ECHO TYPE=%FTYPE% COPY /Y "%SRC%%~n1%~x1" "%SystemRoot%\Fonts\" reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "%FNAME% %FTYPE%" /t REG_SZ /d "%FFILE%" /f GOTO :EOF

Modifications to Make

If you’re familiar with scripting, you’ll notice ECHO is commented out (REM) throughout, remove these where you would like an ECHO to be able to check each step run within the script. (This is handy for any troubleshooting you might need to do).

As noted in Step 2, the restart is commented out. You can leave commented out or remove the following from the script to not have a restart.

REM OPTIONAL REBOOT shutdown -r -f -t 10 -c "Reboot required for Fonts installation" ECHO. ECHO Done! PAUSE EXIT

You do need to restart your machines to apply the changes, if you don’t use a script to do so you can add a Reboot step to your deployment package (multiple steps are an Enterprise-level feature, you can get a free trial.)


Brigg Angus Headshot
Brigg Angus

Invented in the late 1900s, Brigg was an early utilizer of technology one finds in museums. After conquering Canada, he schlepped out technical support for Windows 95 & 98 while learning non-Windows systems. After a series of SysAdmin jobs spanning near-decades, his fossilized remains landed at PDQ, where he has served on occasion as a "resident expert" and deranged webcast personality on PDQ that airs each Thursday on YouTube. Brigg currently resides in Salt Lake with a fish and a plant. He holds a license to practice Active Directory and is board certified in the DNS arts.

Related Articles