After some research I was surprised to find how complex some processes are. I wanted a simple Group Policy to deploy fonts and found that the most straight forward way to deploy fonts via GPO was to build an .MSI and then deploy the .MSI. This sounds harder than it is:
Building the .MSI for the Fonts
1 – Get the Registry Settings
Manually Install the fonts in question on your own PC (because it is much easier to copy the registry entries than it is to type them 🙂 )
Launch RegEdit and expand to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
Click FILE > EXPORT and save the file as some name you like
Open the resulting .REG file with Notepad and remove all references to other fonts
2 – Use the Freeware Version of Advanced Installer to Build and .MSI
Download and install the freeware version of Advanced Installer then start it
Select NEW > INSTALLER > scroll down in the right window and select SIMPLE, then click the CREATE PROJECT button
Enter a PRODUCT NAME and a COMPANY NAME if you wish
Scroll down and select the DISABLE MODIFY check box – this is not required but might confuse users if it is left on
From the left menu select INSTALL PARAMTERS and select the LIMIT TO BASIC USER INTERFACE checkbox
From the left menu select FILES AND FOLDERS and expand TARGET COMPUTER > WINDOWS VOLUME > WINDOWS > FONTS
From the top menu select FILES and select the fonts files
From the left menu select REGISTRY and expand TARGET COMPUTER >HKEY_LOCAL_MACHINE > SOFTWARE > MICROSOFT > WINDOWS NT > CURRENT VERSION > FONTS
From the top menu select IMPORT REG and point to the REG file you created in the GET REGISTRY SETTINGS section above
From the top menu select FILE > SAVE AS and name your project what you like
From the top menu select HOME tab, select BUILD and name your .MSI what you like
3 – Deploy Your Fonts Using Group Policy
Copy the .MSI from step 11 above to a place on the network that all computers have access
On your Windows Server, open your GROUP POLICY MANAGEMENT CONSOLE
Expand the OU containing the COMPUTERS (not Users) you want to install the fonts on
Right click and select CREATE NEW GPO then name it as you wish
Right click on SOFTWARE INSTALLATION and select NEW > PACKAGE
Point to the .MSI that contains your fonts and make doubly sure that you are using a UNC path (no drive letters!) and that all the PC’s can see that path.
Wait for GPO to be applied (or run a GPUPDATE /FORCE if you can’t wait)
Reboot
have a nice day!
Much of these instructions were inspired by THIS article which is older but contains screen shots of the Advanced Installer tool that you might find handy.
These are not all options for installing fonts.
Another option is to wrap the font in msi.
For example, Silent Install Builder can wrap a font in an msi. https://www.silentinstall.org/font-to-gpo/
There are many similar tools on request exe to msi or font to msi
Muchas gracias funciono perfectamente.
My package completed as an aip not an msi and i couldn't add it to the GPO. I changed the extension to .msi and then it could "see" it but the add operation failed.
AIP is the project file, you need to build the MSI then click "Open output folder". You'll find your .msi in there
Hi Karen;
I have never used an AIP but it will not work with Group Policy I am sure. It looks like some packaged product: https://fileinfo.com/extension/aip
I configured the installation, when I was creating the software installation GPO I got this error "There is no software installation data object in the Active Directory", I resolved this problem using this article:
The deploy works only if the user has administrator rights in the client machine, I cannot figure out how to allow non machine admins to install the font
Hi; I was able to deploy to standard users as none of my users are local admins. Perhaps something else was causing the issue.
Writing registry entries is unnecessary and shouldn't be in the installation. So better skip part 1 and #8,9 from part 2. Windows automatically registers any fonts copied into Fonts folder, and it's better to leave it to Windows.
I am stuck in step 2.8
From TARGET COMPUTER >HKEY_LOCAL_MACHINE > SOFTWARE >
there is no MICROSOFT > WINDOWS NT > CURRENT VERSION > FONTS
I am also stuck on this step of the Registry on step 2.8. I don't have this location. Where do I import my registry file to?
Thanks
Are you sure that path does not exist. I have never seen a PC without it since I started looking. Are you sure you are in the WINDOWS NT (note the NT) key?
That path does exist on every machine I have worked on and I just confirmed that includes Windows 10. I would retry. Please let me know how it goes.
Wouldn't it be much easier to use policy preferences to:
- copy the .ttf files from a network location to te target pc
- add the registry settings to the target pc
No need to package the font files and registry settings in a MSI file...
Sure... that can work but it is pretty easy to build the MSI.
Your call as to what you prefer :)
Dude, that was a life saver...had to deploy a couple of otf fonts to close to 150 machines today and fiddled with fontreg.exe and Group Policy preferences until I stumbled upon your blog.
If you're ever around Marburg, Germany, drop me a line, I owe you at least one beer :-)
Thanks... I'll be on Air Canada Flight 123, see you at the Airport bar!
I've done something wrong, as I followed the instructions. It installed the registy entries for the fonts, but not the fonts themselves (though I did include them as per step 2 point 7).
Any pointers ?
Thanks
You need to open the properties on the font files in advanced installer and go to "Registration" make sure you check the box to register the fonts and you are golden!
View Comments
These are not all options for installing fonts.
Another option is to wrap the font in msi.
For example, Silent Install Builder can wrap a font in an msi.
https://www.silentinstall.org/font-to-gpo/
There are many similar tools on request exe to msi or font to msi
Muchas gracias funciono perfectamente.
My package completed as an aip not an msi and i couldn't add it to the GPO. I changed the extension to .msi and then it could "see" it but the add operation failed.
AIP is the project file, you need to build the MSI then click "Open output folder". You'll find your .msi in there
Hi Karen;
I have never used an AIP but it will not work with Group Policy I am sure. It looks like some packaged product: https://fileinfo.com/extension/aip
I configured the installation, when I was creating the software installation GPO I got this error "There is no software installation data object in the Active Directory", I resolved this problem using this article:
http://www.urtech.ca/2012/12/solved-there-is-no-software-installation-data-object-in-the-active-directory/
The deploy works only if the user has administrator rights in the client machine, I cannot figure out how to allow non machine admins to install the font
Hi; I was able to deploy to standard users as none of my users are local admins. Perhaps something else was causing the issue.
Writing registry entries is unnecessary and shouldn't be in the installation. So better skip part 1 and #8,9 from part 2. Windows automatically registers any fonts copied into Fonts folder, and it's better to leave it to Windows.
I am stuck in step 2.8
From TARGET COMPUTER >HKEY_LOCAL_MACHINE > SOFTWARE >
there is no MICROSOFT > WINDOWS NT > CURRENT VERSION > FONTS
I am also stuck on this step of the Registry on step 2.8. I don't have this location. Where do I import my registry file to?
Thanks
Are you sure that path does not exist. I have never seen a PC without it since I started looking. Are you sure you are in the WINDOWS NT (note the NT) key?
That path does exist on every machine I have worked on and I just confirmed that includes Windows 10. I would retry. Please let me know how it goes.
Wouldn't it be much easier to use policy preferences to:
- copy the .ttf files from a network location to te target pc
- add the registry settings to the target pc
No need to package the font files and registry settings in a MSI file...
Sure... that can work but it is pretty easy to build the MSI.
Your call as to what you prefer :)
Dude, that was a life saver...had to deploy a couple of otf fonts to close to 150 machines today and fiddled with fontreg.exe and Group Policy preferences until I stumbled upon your blog.
If you're ever around Marburg, Germany, drop me a line, I owe you at least one beer :-)
Thanks... I'll be on Air Canada Flight 123, see you at the Airport bar!
I've done something wrong, as I followed the instructions. It installed the registy entries for the fonts, but not the fonts themselves (though I did include them as per step 2 point 7).
Any pointers ?
Thanks
You need to open the properties on the font files in advanced installer and go to "Registration" make sure you check the box to register the fonts and you are golden!
Sorry, just what I have on the page