Deploying Fonts Via GPO

Hi,

i am trying to install a set of fonts on our client network and have been following this http://www.urtech.ca/2014/02/solved-how-to-deploy-fonts-using-group-policy/ but with no success.

The group policy is applied but the fonts are not being installed, also i have shared off the folder where the fonts are to everyone and with full permissions.

Any help with this is appreciated.


Cheers

Matt
YellowbusTeamAsked:
Who is Participating?
 
Vadim RappCommented:
No, there was no rollback. The log you posted is typical log of advertising the product, rather than actually installing it. The log of actual installation would be several times longer. Publishing is possible when the installation is published per-user, but you say it's per-machine. So we probably need to find out why it's only advertising it.

Use information in https://technet.microsoft.com/en-us/library/Cc775423(v=WS.10).aspx and produce log "Software Installation CSE" -
set HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics\Appmgmtdebuglevel=dword:0000009b, restart computer, then collect %windir%\debug\usermode\appmgmt.log and post here.
1
 
Manjunath SulladTechnical ConsultantCommented:
What is your client Operating system ?

Even you can install fonts by running powershell scripts and you can add it to Group policy preferences scheduled tasks,

Take a look below URL for more info.

http://deployhappiness.com/installing-fonts-with-powershell/


If you are using Win XP systems, Check the permissions for below registry.


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
%systemroot%\fonts


https://social.technet.microsoft.com/Forums/windowsserver/en-US/b21c230d-4973-4e83-b9da-9f2e8b2104a4/install-fonts-via-group-policy?forum=winserverGP
1
 
YellowbusTeamAuthor Commented:
Thanks Manjunath,

The client OS are win7 clients mostly 64bit.

Cheers

Matt
0
Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

 
Manjunath SulladTechnical ConsultantCommented:
Try installing thorugh Poweshell script,


For Windows 7 clients, please try disabling UAC, make sure domain users have permission on the following folder and registry to check the results:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
%systemroot%\Fonts
%systemroot%/system32/FNTCACHE.dat
 
You can also copy .ttf file to the %systemroot%\fonts and add an entry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts manually as a test.

Refere below URL for furhter troubleshoot,

https://social.technet.microsoft.com/Forums/windowsserver/en-US/b21c230d-4973-4e83-b9da-9f2e8b2104a4/install-fonts-via-group-policy?forum=winserverGP


Let us know if you stuck in-between.
1
 
Guy LidbetterCommented:
Hi Matt,

As this is a computer level GPO, disabling UAC will not make a diffrence. The most likey cause of this not working is permissions to the share.
Remember it's the PC accessing the share not the User, and the policy is usually run on startup before the login screen.

So try this...

On the network share, make sure the share permissions is full control  for everyone. On the security Tab - add "Domain COmputers" with "Read & Execute" persmissions,
Make certain the GPO is linked to the COMPUTER OU where the PC's are located.

Restart the PC.

If this does not work, run an Admin CMD window and run "gpresult /r /scope:computer" and make sure that the policy is in the applied section...

Regards

Guy
1
 
YellowbusTeamAuthor Commented:
Thanks all,

Am waiting for an chance to test this, it will probably be in the morning now.

Cheers

Matt
0
 
YellowbusTeamAuthor Commented:
I have gone down the Scheduled tasks route but when the script tryd to run i get the error: Fontinstall.ps1 cannot be loaded because the execution of scripts is disabled on this system.

Is there  way to change this on all PCs via GPO?

Cheers

Matt
0
 
YellowbusTeamAuthor Commented:
The current script is
#Font Locations
    #Network Location
    $NetworkPath = \\10.70.70.40\$Font
    #Local Location (temp place to store fonts)
    $LocalPath= "C:\Users\Public\Fonts\"

$FONTS = 0x14
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace($FONTS)

New-Item $LocalPath -type directory -Force
Copy-Item "$NetworkPath\*" $LocalPath

$Fontdir = dir $LocalPath
foreach($File in $Fontdir)
{
  if ((Test-Path "C:\Windows\Fonts\$File") -eq $False)
    {
    $objFolder.CopyHere($File.fullname,0x10)
    }

I have been able to run it but now i get these errors:
The term '\\10.70.70.40\$Font' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At \\10.70.70.40\font\Fontinstall.ps1:3 char:39
+     $NetworkPath = \\10.70.70.40\$Font <<<< 
    + CategoryInfo          : ObjectNotFound: (\\10.70.70.40\$Font:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
0
 
Vadim RappCommented:
Please find out and post the result:

Is the MSI being launched during computer startup?
      If it is, produce detailed log and post here.
      If not, check if it is actually assigned to the machine,using Group Policy Results Wizard
0
 
Vadim RappCommented:
By the way, I checked the instructions in the article at www.urtech.ca you mentioned, and they are excessive - writing registry information (points #8 and 9 under #2) is not needed and is actually a bad idea. Windows automatically registers any fonts copied into its Fonts folder, and it's better to leave it to Windows.
1
 
nappy_dThere are a 1000 ways to skin the technology cat.Commented:
How many fonts are you looking to install and manage? This may not be a wise idea if you have a lot of fonts to be used.

Have you considered a font manager?
0
 
DaveCommented:
There are script time outs set by default they are 10 minutes but that's I think for all scripts. This can be changed by policy but you may need two re-boots to get the policy to apply and then to get the scripts to run.
0
 
YellowbusTeamAuthor Commented:
How i have set this up, I have created a scheduled task using group policy, this then references the PS1 script which in turn should install the scripts.

Is there a better and easier way of doing this?

Cheers

Matt
0
 
Vadim RappCommented:
> Is there a better and easier way of doing this?

The better way is exactly by deploying MSI, especially if you already have created it. You have requested attention, and I posted the instructions pertaining to your original question. Did you review them?
0
 
YellowbusTeamAuthor Commented:
Ok i will update once i have tested it again.

Thanks for the attention
0
 
YellowbusTeamAuthor Commented:
Detailed ~MSI Log

MSI (c) (E4:BC) [13:17:28:939]: User policy value 'DisableRollback' is 0
MSI (c) (E4:BC) [13:17:28:939]: Machine policy value 'DisableRollback' is 0
MSI (c) (E4:BC) [13:17:28:944]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (E4:BC) [13:17:29:001]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (c) (E4:BC) [13:17:29:003]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1186754247,LangId=1033,Platform=0,ScriptType=3,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=0)
MSI (c) (E4:BC) [13:17:29:004]: Executing op: ProductInfo(ProductKey={22FCAE43-EAD0-49D8-9ED0-2C6899535DEA},ProductName=Your Application,PackageName=Fontinstall.msi,Language=1033,Version=16777216,Assignment=1,ObsoleteArg=0,,,PackageCode={4FD6596E-C540-4195-9C1A-F5E7EF1D7923},,,InstanceType=0,LUASetting=0,RemoteURTInstalls=0,ProductDeploymentFlags=3)
MSI (c) (E4:BC) [13:17:29:004]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (c) (E4:BC) [13:17:29:004]: Executing op: DialogInfo(Type=1,Argument=Your Application)
MSI (c) (E4:BC) [13:17:29:004]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,,CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
MSI (c) (E4:BC) [13:17:29:004]: Executing op: ActionStart(Name=PublishFeatures,Description=Publishing Product Features,Template=Feature: [1])
MSI (c) (E4:BC) [13:17:29:005]: Executing op: FeaturePublish(Feature=MainFeature,,Absent=0,)
MSI (c) (E4:BC) [13:17:29:006]: Executing op: ActionStart(Name=PublishProduct,Description=Publishing product information,)
MSI (c) (E4:BC) [13:17:29:006]: Executing op: CleanupConfigData()
MSI (c) (E4:BC) [13:17:29:007]: Executing op: ProductPublish(PackageKey={4FD6596E-C540-4195-9C1A-F5E7EF1D7923})
MSI (c) (E4:BC) [13:17:29:012]: Executing op: UpgradeCodePublish(UpgradeCode={9FBF3F6A-2EF0-4C36-BE7F-76630EC8AC9E})
MSI (c) (E4:BC) [13:17:29:013]: Executing op: SourceListPublish(,,DiskPromptTemplate=[1],,NumberOfDisks=1)
MSI (c) (E4:BC) [13:17:29:016]: Executing op: ProductPublishClient(,,)
MSI (c) (E4:BC) [13:17:29:017]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=0)
MSI (c) (E4:BC) [13:17:29:067]: Note: 1: 2318 2:  
MSI (c) (E4:BC) [13:17:29:074]: DoAdvertiseScript is returning: 0
=== Verbose logging stopped: 05/06/2015  13:17:29 ===
0
 
YellowbusTeamAuthor Commented:
This failed to install the fonts i have checked and the PC is in the correct OU and is getting the policy applied.

Can anyone tell from the log above what is going wrong?

Cheers
0
 
Vadim RappCommented:
Looks like it's advertised, but not actually installed. Did you assign it under Computer Configuration, like on this screenshot?
screenshot
If you did:
1. try to run this installation manually.
2. troubleshoot using information from https://technet.microsoft.com/en-us/library/cc775423%28v=ws.10%29.aspx , specifically what you want is Software Installation CSE - see if the installation is launched.
1
 
YellowbusTeamAuthor Commented:
I did try to run the installation manually and i think there is an issue with the MSI.

Thanks for your help so far Vadim.
0
 
YellowbusTeamAuthor Commented:
I have managed to get the MSI to install but now no Fonts get installed??

The MSI is present in the Programs.
0
 
Vadim RappCommented:
Again, please post detailed log of the installation. If it's assigned to the machine, the log will be in %windir%\temp .
0
 
YellowbusTeamAuthor Commented:
=== Verbose logging started: 23/07/2015  15:22:59  Build type: SHIP UNICODE 5.00.7601.00  Calling process: C:\Windows\system32\svchost.exe ===
MSI (c) (4C:CC) [15:22:59:256]: User policy value 'DisableRollback' is 0
MSI (c) (4C:CC) [15:22:59:256]: Machine policy value 'DisableRollback' is 0
MSI (c) (4C:CC) [15:22:59:366]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (c) (4C:CC) [15:22:59:368]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1189695847,LangId=1033,Platform=0,ScriptType=3,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=0)
MSI (c) (4C:CC) [15:22:59:368]: Executing op: ProductInfo(ProductKey={80F8770E-338D-4241-8F3F-755A6325317B},ProductName=Font Install,PackageName=Font Install.msi,Language=1033,Version=16777216,Assignment=1,ObsoleteArg=0,,,PackageCode={8CE56F37-E4A6-4A7C-AA6A-16C0D5402406},,,InstanceType=0,LUASetting=0,RemoteURTInstalls=0,ProductDeploymentFlags=3)
MSI (c) (4C:CC) [15:22:59:369]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (c) (4C:CC) [15:22:59:369]: Executing op: DialogInfo(Type=1,Argument=Font Install)
MSI (c) (4C:CC) [15:22:59:369]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,,CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
MSI (c) (4C:CC) [15:22:59:369]: Executing op: ActionStart(Name=PublishFeatures,Description=Publishing Product Features,Template=Feature: [1])
MSI (c) (4C:CC) [15:22:59:369]: Executing op: FeaturePublish(Feature=MainFeature,,Absent=0,)
MSI (c) (4C:CC) [15:22:59:371]: Executing op: ActionStart(Name=PublishProduct,Description=Publishing product information,)
MSI (c) (4C:CC) [15:22:59:371]: Executing op: CleanupConfigData()
MSI (c) (4C:CC) [15:22:59:372]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\E0778F08D8331424F8F357A5365213B7\Patches 3: 2
MSI (c) (4C:CC) [15:22:59:372]: Executing op: ProductPublish(PackageKey={8CE56F37-E4A6-4A7C-AA6A-16C0D5402406})
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:373]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7 3: 2
MSI (c) (4C:CC) [15:22:59:379]: Executing op: UpgradeCodePublish(UpgradeCode={74BF21CB-F8A6-43FD-9D79-9D9DD27B7808})
MSI (c) (4C:CC) [15:22:59:379]: Executing op: SourceListPublish(,,DiskPromptTemplate=[1],,NumberOfDisks=1)
MSI (c) (4C:CC) [15:22:59:379]: Note: 1: 1402 2: UNKNOWN\Installer\Products\E0778F08D8331424F8F357A5365213B7\SourceList 3: 2
MSI (c) (4C:CC) [15:22:59:380]: Executing op: ProductPublishClient(,,)
MSI (c) (4C:CC) [15:22:59:381]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=0)
MSI (c) (4C:CC) [15:22:59:383]: Note: 1: 2318 2:  
MSI (c) (4C:CC) [15:22:59:383]: DoAdvertiseScript is returning: 0
=== Verbose logging stopped: 23/07/2015  15:22:59 ===
0
 
YellowbusTeamAuthor Commented:
=== Verbose logging started: 27/07/2015  13:45:17  Build type: SHIP UNICODE 5.00.7601.00  Calling process: C:\Windows\system32\svchost.exe ===
MSI (c) (10:30) [13:45:17:060]: User policy value 'DisableRollback' is 0
MSI (c) (10:30) [13:45:17:061]: Machine policy value 'DisableRollback' is 0
MSI (c) (10:30) [13:45:17:061]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (10:30) [13:45:17:062]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (c) (10:30) [13:45:17:063]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1190882626,LangId=1033,Platform=0,ScriptType=3,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=0)
MSI (c) (10:30) [13:45:17:063]: Executing op: ProductInfo(ProductKey={E9A331B5-CBBC-4B40-9522-3497325FCE5E},ProductName=Font install,PackageName=Font Install.msi,Language=1033,Version=16777216,Assignment=1,ObsoleteArg=0,,,PackageCode={9A31FC77-7C97-40AD-A5B1-8778124BFEC9},,,InstanceType=0,LUASetting=0,RemoteURTInstalls=0,ProductDeploymentFlags=3)
MSI (c) (10:30) [13:45:17:063]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (c) (10:30) [13:45:17:063]: Executing op: DialogInfo(Type=1,Argument=Font install)
MSI (c) (10:30) [13:45:17:063]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,,CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
MSI (c) (10:30) [13:45:17:063]: Executing op: ActionStart(Name=PublishFeatures,Description=Publishing Product Features,Template=Feature: [1])
MSI (c) (10:30) [13:45:17:063]: Executing op: FeaturePublish(Feature=MainFeature,,Absent=0,)
MSI (c) (10:30) [13:45:17:063]: Executing op: ActionStart(Name=PublishProduct,Description=Publishing product information,)
MSI (c) (10:30) [13:45:17:064]: Executing op: CleanupConfigData()
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\5B133A9ECBBC04B45922437923F5ECE5\Patches 3: 2
MSI (c) (10:30) [13:45:17:064]: Executing op: ProductPublish(PackageKey={9A31FC77-7C97-40AD-A5B1-8778124BFEC9})
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:064]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5 3: 2
MSI (c) (10:30) [13:45:17:066]: Executing op: UpgradeCodePublish(UpgradeCode={308C7DAA-AA9E-4DDE-AFA9-63A03829CA00})
MSI (c) (10:30) [13:45:17:067]: Executing op: SourceListPublish(,,DiskPromptTemplate=[1],,NumberOfDisks=1)
MSI (c) (10:30) [13:45:17:067]: Note: 1: 1402 2: UNKNOWN\Installer\Products\5B133A9ECBBC04B45922437923F5ECE5\SourceList 3: 2
MSI (c) (10:30) [13:45:17:069]: Executing op: ProductPublishClient(,,)
MSI (c) (10:30) [13:45:17:070]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=0)
MSI (c) (10:30) [13:45:17:072]: Note: 1: 2318 2:  
MSI (c) (10:30) [13:45:17:072]: DoAdvertiseScript is returning: 0
=== Verbose logging stopped: 27/07/2015  13:45:17 ===
0
 
Vadim RappCommented:
According to the log, the installation was only advertised, but it did not actually install.

How did you specify this installation package in group policy - under Machine Configuration, or under User configuration?
0
 
YellowbusTeamAuthor Commented:
I set it under computer configuration, the package installs but no fonts are present i even re-did the MSI file making sure the fonts were in the package.

I notice part of the log says rollback. Is it getting so far and failing dud to a permission or something?

Cheers
0
 
NVITCommented:
> Is there a better and easier way of doing this
If you are open to alternative method with 3rd party tools, one I like to use is PDQ Deploy, by Admin Arsenals. They have a free version. You can install PDQ Deploy on Windows 7, Vista SP2, or Windows server. For deploying fonts... http://www.adminarsenal.com/admin-arsenal-blog/deploy-fonts-to-your-computers
0
 
Vadim RappCommented:
I wonder if it's wise to look for a new tool whenever there's a problem with the old one.
0
 
YellowbusTeamAuthor Commented:
We resolved this by using another piece of software called Smart packager by Scalable.

We had nothing running on a PC and set it to discovery which monitors changes to the system, installed the drivers then ended the discovery this then gave an option to create the MSI, once this was doen we tested and it worked fine no problems.

Thanks for all your assistance in this matter :)

Matt
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.