I was approached today by a manager requesting that I install the Eco Font on our 60+ workstations. Not being big on manual installations, and definately not wanting to take the ‘email the font as an attachment with installation instructions’, I opt’ed for the only route that made sense – installation via Group Policy Object!
This process is fairly straight forward, with the only potentially annoying portion being the creation of the actual .msi file to install the font. Sure, you can create batch startup scripts that copy the file to the fonts folder and update the registry, but this is a lot cleaner.
To create the .msi package used to install the font, I grabbed a free copy of WinInstall LE. Unfortunately registration with a non-free (read: Hotmail, Gmail, etc… accounts not accepted) email address is required. I tend to create throw-away accounts (eg, a9s6dfa9@my_domain.com) that I promptly delete afterwords. I get enough spam as it is.
Once downloaded and installed, there isn’t that much to do: launch the app, then create a new package by right-clicking on Windows Installer Packages in the top middle and click on New Package. Give it a name and description and you’re ready to start. Expand the package you just created, and you’ll see a new line item called New Feature. Select it, then change the name and description in the right-hand pane. No other changes required.
Next, expand the feature line that you just renamed, and you’ll get another line itm with a GUID (eg, {82B7A2B4-45E8-497A-AFB5-D182960CABF1}) – go ahead and delete it by right-clicking and choosing Delete. Now right-click on your feature and choose Add Files to Feature. Leave the Source line at it’s default value, but change the Target line by pressing the browse button (“…”). From the list, select [WindowsFolder], then in both the Long folder path and Short folder path boxes add Fonts, so they read “[WindowsFolder]\Fonts” (without the quotes, of course). Now click OK. All we need to do now is add the file, which can be done by clicking the Add File button directly under the Target box. Browse to find your font and click Open. Now click OK, and you’ll see two new GUIDs under your feature.
The last thing we need to do is make this .msi package install without prompting the user. Simply click on the package line (not the feature), and click on the Install Modes tab on the right. Select Install only per machine and check the Show basic user interface only (simple progress and error handling) box.
Now all you need to do is compress the package – this will physically include the font inside the .msi package so that you only need the .msi file itself, rather than the .msi and the font files. To do this, simply select the Windows Installer Package inside WinINSTALL LE (not the feature or the components) and choose ‘Compress’ from the ‘Action’ (or right-click) menu. In the new window, simply press ‘Compress’, and you’re done!
By default, the .msi packages you create with WinInstall LE are located at \<Computer Name>\WinInstallPackages\<Package Name> on the computer you created them. Although the permissions on their share are very relaxed, we want the installer package to be in a high-availability location so that we can be sure the GPO we’ll create in just a short while will always be able to access it. I suggest copying it to \<Domain Controller>\SYSVOL\<Domain Name>\scripts. The guarentees that all of the clients will be able to access it.
Now login in to one of your Domain Controllers and fire up Group Policy Management. Create a new GPO and link it to whatever computer groups you may have, then right-click it and choose Edit. We’ll be working under the Computer Configuration header – if you’re using Server 2008, select Policies, then Software Settings – Server 2003 users just select Software Settings. Now right-click on Software Installation and choose New -> Package. Browse for your .msi package, select it, and choose OK. Selected Assigned, then OK.
You’re done! Just allow time for the GPO to propagate through your domain, and the next time your domain-joined systems reboot the font will be installed.


10:05 am, April 29, 2009David Levine /
Thanks for the great article – I found myself in a similar boat today actually.
One small thing that might be worth mentioning – it appears that two reboots of the workstation are required to completely install the new font. The first reboot will copy it to the fonts folder, and the second reboot makes Windows (Vista) recognize it and make it available.
4:06 am, March 24, 2010Daniel /
Greate, but how can i set the GPO, to make the Eco-Font default for all users in the domain, an is there a metod to print pdf-Files with the Eco-Font?
Kindly Regards
11:59 am, March 24, 2010Laslow /
@Daniel – I’m not sure the PDF thing is possible, as the fonts are set when the document is created. For other programs, there may be config files/registry keys to set.
In regard to Microsoft Word, you could modify the Normal.dot template (there are a lot of guides floating around, Google is your friend here) to use the Eco-Font, or any other font, as the default.
Hope that helps!
11:49 am, September 22, 2010Manoj /
Hi
Thank you for your great post.
I am trying to create the msi file using the Winstall LE. Doesnt the program add the font to the msi file or it has to be copied along with the MSI.
I did go over your steps a few times, but the font file has to be copied over too.
thanks
Manoj
11:51 am, September 22, 2010Laslow /
If you follow the steps in the post, the font file is added to the .msi, so you just need the one file. Don’t worry about bundling the font along with it.
6:39 am, March 3, 2011Michael /
I had the same problem as Manoj. I had to copy the font files over for some reason and i’ve redid this article step by step several times.
Strange.
9:34 am, March 3, 2011Laslow /
Sorry Manoj and Michael, I did miss a step (I’ll update the article with this information as well).
Once you’ve saved the package, select the package itself (not the feature or components) in WinINSTALL LE. Now go to the Action menu (or right-click on the package) and choose ‘Compress’. In the new window, simply press ‘Compress’ at the bottom and all files previously added to the .MSI will be bundled inside of it. You will now be able to deploy just the .MSI without needing to include the font files in the same folder.
11:51 am, May 9, 2011Ytsejamer1 /
Great article…any ideas for getting this to work with Windows 7…where the Fonts folder is protected as a system folder? I’m thinking I will have to strip the system attribute from the Fonts folder so that the fonts can get installed via the MSI.
12:02 pm, May 9, 2011Laslow /
You shouldn’t have to take any additional steps to get it to install on Windows 7 — it should work exactly the same way. I’ve got a mix of XP, Vista, and Win7 boxes on my network, and the font installs correctly on all of them (even on boxes where the local user doesn’t have admin rights). As long as you are using the Computer Configuration section of the GPO, and not the User Configuration sections it should work fine.
1:41 am, July 4, 2011Kenny Bones /
Are you sure the system variables are correct? I’ve entered [WindowsFolder]Fonts into the destination folder, but the files end up in C:\ root.
8:19 am, July 4, 2011Laslow /
I don’t have the project files with me, but try
[WindowsFolder]\Fontsinstead – I may have forgotten that.11:21 am, July 16, 2011Laslow /
@Kenny Bones
As it turns out, something I did on the blog stripped all of the \ characters from some posts, so I’ve re-added it. “[WindowsFolder]\Fonts” is correct.
11:41 am, August 22, 2011Dwain /
I followed your instruction by the book. Our users are restricted from installing programs etc.. by Group Policy. The msi does install however I can only see it via the dos prompt. Cannot see the font file in Windows\Fonts folder from Windows. It appears to be an install/permissions issue. Any way around this since it is installing in the computer configuration?
12:03 pm, August 22, 2011Laslow /
I have very similar restrictions setup on my network, and as long as the GPO is targeting an OU with computers (not just users) in it, the computer configuration method works.
If the install is completing and showing up in Add/Remove Programs (or Programs and Features in Vista/7), check Event Viewer and see if there are any errors relating to the group policy or install process.
1:35 am, February 2, 2012René /
hey Lasow,
Nice article, I ended up here wanting a loginscript for a few fonts.
I am curious. Why do you use the netlogon folder? When I install new servers I always create a share called deploy$ and from there I distribute everything I want to. The only thing I use the netlogon folder for is for the scripts.
What I was thinking tho is to make a folder deploy, then 2 subfolders one for the computers and one for the users and there the sharenames deploycomputers$ and deployusers$. What is your opinion about this?
9:19 am, February 2, 2012Laslow /
In this environment, I didn’t have any other DFS/FRS shares on the domain, and rather than set up something new I opted to be lazy and opted to use the SYSVOL share to ensure availability of the files for the scripts in case of a server outage.
In any case, your method is perfectly acceptable, but it really just comes down to your preference for organisation.