Windows does not let regular users install fonts. Because, reasons. There is no easy workaround and no permission to be set, apparently dealing with fonts is high level admin work that should be dealt with by you running through the office and manually doing it for every artist.
There is a workaround using PortableApps, but it only works while PortableApps is running and every so often, the Windows Font Cache service has a hickup and has to re-index the fonts, causing them to temporarily disappear from your font lists. Not ideal.
As this was getting frustrating and since I trust our users to know best which fonts they need on their workstations, I decided to write my own solution. And this is what came out of it…
FontInstallService and FontInstallFrontend are two programs whose names pretty much sum up what they do. FontInstallService is a Windows Service running in the background with Local System rights. Internally it starts up a WCF (Windows Communication Foundation) service, which is a web service, listening for commands from the FontInstallFrontend app (or if you are into that kind of thing, anything that can send SOAP requests based on the service’s WSDL). The service will then install or uninstall the font(s) for the user.
The frontend app works by dragging and dropping the font files (only ttf and otf) onto the logo, or just clicking that same logo for a file dialog. There’s also a management window that lets you browse and uninstall fonts on your system, again without needing administrative rights.
The application requires a current .NET to be installed. The WCF service is listening on port 60908.
Also, this is an internal tool, so there has been very little in terms of testing or debugging. There has been no security testing either – be aware that the service is running with Local System privileges. And as per usual: No warranties, no liability. You may use this program for free for personal use. If you want to use it commercially, please get in touch with us.
Source code will be available soon, once I’ve cleaned it up a bit…
Oh and btw, you can install it silently using the /SILENT /VERYSILENT flags.