This was such a massive pain, I sank way too much time into it so I figured I would share it. The font I was trying to install was needed by the customer, the font itself is called Helvetica light 45 as below:
Previously when installing this in server 2003, I just used the tried and trusted script from the Scripting guys here and it went off without a hitch. But with windows vista and above interactive session detection foils our lovely plans.
So moving on, what other options do we have? You could use:
- The managed API AddFontResource (nope, type 1 fonts dont register the same way as typical fonts)
- Using Visual Studio to create an MSI: (nope, see above)
- Using a third party msi builder: (nope, see above)
- Copy the files from the fonts directory from one machine to another (nope, something is missing)
So, after much hair pulling I hit a dead end.
I’ll spare you the details, but here’s an easy way to do it going forward:
- install the font on a test machine:
- Open command prompt as an administrator and browse to c:windowsfonts
- find the font files here and copy them out to a working directory

- Open regedit and browse down to:
hklm:softwaremicrosoftWindows NTCurrentVersiontype 1 installertype 1 Fonts:
- Export this key to your working directory:
Move to the target machine:
- Copy the fonts from the working directory to the fonts folder as above.
- Import the registry key.
- Restart the machine.
Tada!
If you know of an easier way to do this, be my guest to share it. But I dont want to look at a font file again for a very long time.



