I'm running a Windows 2019 Terminal Server in a domain environment (and hence have no local admin account, just the domain admin account). When I log on as administrator and install fonts, they are installed just for this user (i.e. the admin).

The ttf files end up in C:\Users\Administrator\AppData\Local\Microsoft\Windows\Fonts and not in C:\Windows\Fonts. Also, the font is registered in HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Fonts and not in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts.

I have even run a vbs script that installs fonts and ran this through a scheduled task using the SYSTEM account, but that put the fonts into C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\Fonts, i.e. local to the SYSTEM account.

Is there some way to force installation of fonts for all users?

  • Try to use change user /install before installing the fonts. Use change user /execute to revert.
    – harrymc
    Jul 25 '19 at 10:58
  • @harrymc: No, doesn't make a difference. (And thank you for reformatting, looks much better and easier to read now.)
    – Thomas
    Jul 25 '19 at 14:09

The answer is simple: When one right-clicks on a font, there is the well known option to "install" it. Right below is an option to "install for all users" which does what I want.

(Sorry for having been blind here, I have used this function so often that I hadn't read the menu anymore and totally overlooked the "install for all users".)


Right clicking does not offer the option on some Windows Server versions.

For these, the solution is to create a GPO, namely "Install custom fonts", which would install the fonts from an accessible network share, "\fileserver\Fonts" for instance. For safety reasons, one should make the share read-only.

The GPO need to do 2 steps: * copy the font file using the Computer\Preferences\Files path, using "update" mode and selecting source path as "\fileserver\Fonts\thefont.ttf" with a destination path being "c:\windows\fonts\thefont.ttf". * record the font in the registry by creating a new entry for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Fonts, with name "The Font (TrueType)" the last part with the parenthesis is mandatory, and with value "thefont.ttf".

Link the GPO in an Organizational Unit which your target servers/computers belong to. Connect to the machine and run "gpupdate /force" from command prompt (a.k.a cmd) or reboot the machine.

This nearly saved my week.


There is another way. Using an admin command prompt, copy the font file(s) to the "c:\windows\fonts" folder. Then edit the registry to add the font file name to the list in (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) Reboot the machine. I have used this to install a bar code font on our terminal server for our warehouse users.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.