Schriftart unter Windows 7 x64 verteilen

Alle Fragen rund Antworten rund um die ACMP Client Commands und Container
Antworten
CenescoSoftware
Beiträge: 5
Registriert: Di Feb 10, 2015 11:33 am

Hallo zusammen,

ich habe schon ein paar Einträge im Forum zu diesem Thema gefunden und auch schon ausprobieren können. Leider habe ich mit der Schriftart die ich verteilen möchte so meine Probleme. Der Reg-Key wird gesetzt jedoch erscheint die Schriftart nicht im Font Ordner. Würde ich anschließend die Schriftart manuell installieren erscheint die Meldung, dass diese bereits installiert ist.
Hat jemand einen Tipp oder einen Hinweis?
Dateianhänge
Fonts_Verteilen__{39C53884-601A-49CE-A3A9-D37C1837DB9C}.sim
(60.25 KiB) 336-mal heruntergeladen
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hallo CenescoSoftware,

das Client Command hat bei einem kurzen lokalen Test das gewünschte Ergebnis geliefert, jedoch erst nach einem Neustart, was daran liegt, dass der Windows-Fontcache erst bei einem Neustart neu generiert wird; Sollten Sie eine direkte Anzeige in den Windows-Programmen benötigen, muss dies über eine entsprechende Shell-Aktion durchgeführt werden, für die es keinen direkten Einstiegspunkt innerhalb von ACMP gibt. Hierfür können Sie jedoch z.B. VB- oder PS-Skripte verwenden.
Ein Beispielhaftes Skript für den PowerShell-Parameter "-Command" könnte entsprechend wie folgt aussehen:
"$objShell = New-Object -ComObject Shell.Application;$objFolder = $objShell.Namespace(0x14);$Fontdir = dir '%INST%\src';foreach($File in $Fontdir){$objFolder.CopyHere($File.fullname)}"
(abgeleitet von http://deployhappiness.com/installing-f ... owershell/)

Hierbei wird ein neues Shell-Objekt erzeugt, dessen Namespace "0x14" (steht für das Windows-Fontverzeichnis) für die "CopyHere"-Methode des Font-Ordners benötigt wird. Die zu kopierenden Fonts werden in diesem Beispiel dem Ordner "%INST%\src" entnommen; Dieses Vorgehen benötigt zwar mehr Zeit bei größeren Mengen an Fontdateien, da jede Schriftart einzeln kopiert wird (wodurch bei der Ausführung im Systemkontext ggf. eine Meldung bzgl. der Erkennung interaktiver Dienste angezeigt werden kann, da hier die standard Fortschrittsanzeige des Font-Ordners angezeigt wird), bietet jedoch den gleichen Komfort wie eine händische Installation (also eine direkte Nutzbarkeit innerhalb der Programme).
Dieses Vorgehen konnte bereits erfolgreich bei verschiedenen Paketierungsaufträgen unter Windows 7 getestet werden. Ob dies jedoch auch unter den "neueren" Betriebssystemen der Windows-Reihe unterstützt wird, ist von meiner Seite her leider ungetestet.
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
CenescoSoftware
Beiträge: 5
Registriert: Di Feb 10, 2015 11:33 am

Vielen Dank für die schnelle Rückmeldung. bis auf die Schriftart TitilliumMaps26L hat die Installation der Schriftarten bei mir auch funktioniert.
CenescoSoftware
Beiträge: 5
Registriert: Di Feb 10, 2015 11:33 am

ngottschalk hat geschrieben:Hallo CenescoSoftware,

das Client Command hat bei einem kurzen lokalen Test das gewünschte Ergebnis geliefert, jedoch erst nach einem Neustart, was daran liegt, dass der Windows-Fontcache erst bei einem Neustart neu generiert wird; Sollten Sie eine direkte Anzeige in den Windows-Programmen benötigen, muss dies über eine entsprechende Shell-Aktion durchgeführt werden, für die es keinen direkten Einstiegspunkt innerhalb von ACMP gibt. Hierfür können Sie jedoch z.B. VB- oder PS-Skripte verwenden.
Ein Beispielhaftes Skript für den PowerShell-Parameter "-Command" könnte entsprechend wie folgt aussehen:
"$objShell = New-Object -ComObject Shell.Application;$objFolder = $objShell.Namespace(0x14);$Fontdir = dir '%INST%\src';foreach($File in $Fontdir){$objFolder.CopyHere($File.fullname)}"
(abgeleitet von http://deployhappiness.com/installing-f ... owershell/)

Hierbei wird ein neues Shell-Objekt erzeugt, dessen Namespace "0x14" (steht für das Windows-Fontverzeichnis) für die "CopyHere"-Methode des Font-Ordners benötigt wird. Die zu kopierenden Fonts werden in diesem Beispiel dem Ordner "%INST%\src" entnommen; Dieses Vorgehen benötigt zwar mehr Zeit bei größeren Mengen an Fontdateien, da jede Schriftart einzeln kopiert wird (wodurch bei der Ausführung im Systemkontext ggf. eine Meldung bzgl. der Erkennung interaktiver Dienste angezeigt werden kann, da hier die standard Fortschrittsanzeige des Font-Ordners angezeigt wird), bietet jedoch den gleichen Komfort wie eine händische Installation (also eine direkte Nutzbarkeit innerhalb der Programme).
Dieses Vorgehen konnte bereits erfolgreich bei verschiedenen Paketierungsaufträgen unter Windows 7 getestet werden. Ob dies jedoch auch unter den "neueren" Betriebssystemen der Windows-Reihe unterstützt wird, ist von meiner Seite her leider ungetestet.
Wurde bei Ihnen auch die Schriftart Titillium installiert? Habe es nun mehrmals versucht, jedoch ohne erfolg.
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hallo CenescoSoftware,

ja, auch diese hat nach einer geringen Anpassung funktioniert, hierfür musste noch der Dateiname korrekterweise auf "TitilliumMaps26L.ttf" im Registrywert gesetzt werden (analog zum Dateinamen im Quellarchiv).
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
CenescoSoftware
Beiträge: 5
Registriert: Di Feb 10, 2015 11:33 am

Danke sehr für die Unterstützung.
Antworten