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