I've made an .msi that installs two fonts when run. (Droid Sans and Droid Sans Bold)

I want to deploy this on all the devices in my inventory. However - some of them already have it installed. Also, since this doesn't show up in the installed programs list, how could I prevent KACE from deploying it over and over again? Would a script be a better way to go? In that case, how can I get it completely silent? This requires admin privileges.

Happy to post more or explain further if needed.

Thanks in advance!
0 Comments   [ - ] Hide Comments


Please log in to comment

Community Chosen Answer


You would use a custom inventory rule for a managed install or a "file exists" verify step in a kscript to keep them from deploying again.

As VBScab said, you normally just have to copy files to the fonts folder.  You could zip up the two fonts and use a kscript to unzip them into place.
Answered 10/01/2015 by: jknox
Red Belt

  • I went with a kscript in the end, but I still kept the .msi and had a batch file launch it.
Please log in to comment
Answer this question or Comment on this question for clarity


I didn't have to deploy a .msi, admittedly, but I used an online kscript to push a batch file that copied files from a network share to c:\windows\fonts using administrative credentials. Using @echo off in a batch file should give you the "silent" mode you desire.
Answered 09/30/2015 by: rockhead44
Red Belt

  • Aha, but you would have to register the font in the registry after the copy, wouldn't you?
    • In my case I did not. Your mileage may vary.
      • Hmm, okay. I'll give it a shot and report back. Thank you.
  • However, for the @echo off part, I don't want any flashing dos prompts, which is why the .msi would've been so convenient with it's /qn.
Please log in to comment
>the installed programs list
Which one? ARP or Kace? If the former, your MSI probably contained the 'ARPSystemComponent' property.

>prevent Kace from deploying
MSI technology prevents that. The Windows Installer service will detect an installed version and exit without taking any action.

>register the font
I have only ever had to copy the file(s) into the 'Fonts' folder: Windows picks them up immediately.
Answered 09/30/2015 by: VBScab
Red Belt

  • Both KACE's and Windows list. But even though the MSI would cancel the install, I don't want it trying to install every day.
Please log in to comment
I went with a kscript that first checks if the font exists (file exists) and if it didn't, it would launch a batch file which started the .msi installation. This worked and was completely silent.
Answered 10/05/2015 by: IsakJ
Senior White Belt

Please log in to comment
I found this in my documents. I have no idea where I got it, but I remember you have to copy fonts with shell.application to properly register the font, as opposed to a FileSystemObject or cmd copy.

Const FONTS = &H14&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(FONTS)
objFolder.CopyHere "C:\Scripts\Myfont.ttf"

Answered 10/06/2015 by: flip1001
Third Degree Brown Belt

  • Found the source http://blogs.technet.com/b/heyscriptingguy/archive/2008/04/25/how-can-i-install-fonts-using-a-script.aspx
Please log in to comment
Five Steps for Easier- and More Effective- IT Inventorying
Having an accurate inventory of all your IT assets is critical to ensuring that users are productive and that every dollar is well spent. This white paper outlines five steps that improve inventorying both hardware and software.