Just want to add that the Font Table in your release MSI file is used to specify fonts that should be registered on the system.
Font entries added here will register the font on the system. You could try to remove the entries from this table to disable the font registration. Check your final, release MSI and not your ISM (Installshield source file).
The registration that happens to the fonts listed in the Font table mirrors what happens when you paste a font into the system's font folder using Windows Explorer - the font is then automatically registered on the system.
It is also possible that font registration can happen via a custom action in your MSI (maybe you took over the project from someone else), and if this is the case you must disable that custom action as well.
There is some information on the font registration process here: http://windowsitpro.com/scripting/trick-installing-fonts-vbscript-or-powershell-script (resurrected from Wayback Machine).
Essentially:
- Font files copied to the "Fonts folder" via Windows Explorer are registered automagically (the shell copy operation triggers the registration process).
- Font files copied directly to the "Fonts folder" via a batch file or a VBScript are not automatically registered (use the Shell.Application COM object to register them).
- UPDATE: September 2018 - Not sure if the above applies to all new OS versions? I haven't taken the time to test.
- Font files installed to the "Fonts folder" via an MSI are registered as long as they are listed in the MSI's Font table (or they are registered via a custom action).
Let me just duplicate the sample VBScript to register a font from the link above in case the link dies:
Set sa = CreateObject("Shell.Application")
Set fonts = sa.NameSpace(20)
fonts.CopyHere "C:\tmp\SomeFont.ttf"
in PowerShell (hex 0x14 = 20 dec):
$sa = new-object -comobject shell.application
$Fonts = $sa.NameSpace(0x14)
$Fonts.CopyHere ("C:\tmp\SomeFont.ttf")
Those scripts don't impress me much, to put it like that. But there they are :-).