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\

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.
http://www.gnu.org/copyleft/fdl.txt