WICONSOLE.exe: Beispiel - Schriftarten verteilen
 

Verfasser: Daniel Melanchthon
(Formatierung von mir verändert, Optik an diese Seite angepasst, Bilder etwas zurechtgeschnitten)


Problem:

Schriftarten liegen unter Windows in der Regel als TTF-Dateien vor. Diese werden vom System im Ordner %WINDIR%\Fonts gespeichert. Zur Installation kann man über die Systemsteuerung mit Hilfe der GUI neue Schriftarten installieren und in diesen Ordner kopieren lassen. Dabei erneuert das System automatisch die Schriftartenliste für alle Applikationen.

Dieser Vorgang wird nicht durchgeführt, wenn man lediglich die TTF-Dateien in den Fonts-Ordner manuell kopiert. Wie kann man also die Schriftartenliste automatisiert erneuern lassen?


Lösung:
Die Lösung liegt in der Paketierung der neuen Schriftarten in eine MSI-Installationsdatei. Der Installer verfügt über die Fähigkeit, die Erneuerung der Schriftartenliste anzustoßen. Dazu installiert man sich WinINSTALL LE 2003, welches als Freeware von OnDemand Software zur Verfügung gestellt wird.
WinINSTALL LE 2003 http://www.ondemandsoftware.com/freele.asp

Wer bei der Installation Schwierigkeiten beim Versand der Registrierungsmail hat und daher das Produkt nicht installieren kann, sollte vor der Installation alle Netzwerkverbindungen deaktivieren. Näheres dazu findet sich hier:
Email Registration fails during WinINSTALL LE 2003 setup http://bbs.ondemandsoftware.com:8080/KnowledgeBase/entry.jspa?entryID=34&categoryID=9

Als nächstes startet man WinINSTALL LE 2003 und landet im Projektbaum, der zur Zeit natürlich noch leer ist. Hier geht man mit dem rechten Mausklick auf 'Windows Installer Packages' und legt über 'New Package' ein neues Projekt an.



Unter 'File name' legt man den Namen der zukünftigen MSI-Datei ohne die Endung .msi fest. Der Unterpunkt 'Description' legt den Namen fest, unter dem man später das Paket in der Paketliste und auf dem Filesystem findet, so dass hier ein etwas sprechenderer Name gewählt werden kann. Das neue Paket wird dann unter %ProgramFiles%\OnDemand\WinINSTALL\Packages\ erzeugt.



Im nächsten Schritt wählt man nun die GUID des neuen Projekts im Projektbaum an und legt als Zielverzeichnis den systemweiten Schriftartenordner fest:



Nun wählt man im mittleren linken Fenster die Rubrik 'Files' aus und fügt die neuen Schriftarten hinzu. Dazu wählt man im linken oberen Bereich den Reiter 'Add' aus und benutzt die dortigen Schaltflächen:



Es muß sichergestellt sein, dass die einzelnen Dateien jeweils als Schriftarten erkannt wurden. Dies ist nicht bei allen TTF-Dateien automatisch der Fall. Deswegen sollte hier jede einzelne Schriftdatei mittels des Eigenschaften-Buttons kontrolliert werden, ob der Haken für 'Font' gesetzt ist. Diese Einstellung bewirkt bei der späteren Installation die Neuerstellung der Schriftartenliste.



Abschließend kann man diverse Default-Einstellungen seinen persönlichen Vorlieben anpassen. Ich bevorzuge für Schriftarten die Installation pro Maschine und ein simples Benutzerinterface. dazu wählt man oben links die Paketbeschreibung aus, geht unten links auf 'General' und wählt dann rechts oben den Reiter 'Install Modes' aus. Wenn man möchte, kann man auf dem Reiter 'Summary' noch Eigenschaften wie 'Manufacturer', 'Product-ID', etc. festlegen. Diese Eigenschaften sind später auch über die Eigenschaften der MSI-Datei via Rechtsklick im Explorer abfragbar.



Im letzten Schritt sollte man die Schriftarten in das MSI-Paket integrieren, da bisher lediglich Verknüpfungen zu den Schriften im Paket hinterlegt sind und das damit MSI-Paket inklusive der Schriften zur Installation benötigt wird. Durch das Komprimieren des Pakets erzeugt man ein Installationsarchiv, das alle notwendigen Dateien beinhaltet und dann als Einzeldatei zur Installation genutzt werden kann. Dazu wählt man das MSI-Paket im Paketbaum direkt mit einem rechten Mausklick an und wählt den Kontextmenüpunkt 'Compress'.





Fazit:

Auf diesem Weg haben wir eine MSI-Datei erzeugt, die die benötigten Schriftarten enthält und nun mittels Doppelklick, via Kommandozeile oder über Gruppenrichtlinien installiert werden kann.

"Es ist erlaubt, unter den Bedingungen der GNU Free Documentation License dieses Dokument zu kopieren, zu verteilen und/oder zu verändern."
http://www.gnu.org/copyleft/fdl.txt