Re: Font per vbs installieren



Hallo Gottfried,
danke für deine Antwort. Ich habe es versucht und folgendes Ergebniss
bekommen. Das von dir abgeanderte script bringt die Meldung (Uninstall the
Font first) bei allen Fonts. Danach habe ich meines abgeandert und verwende
das vorhandene FileSystemObject. Da kommt die Meldung wieder nur beim ersten
Font. Alle anderen (de)&installieren sauber.
Was den Dateinamen betrifft habe ich folgendes versucht: Alle alten Fonts
manuell deinstalliert (deleted), danach per script installiert. Alle haben
installiert. Danach wieder ein zweites mal jedoch ohne manuelles löschen.
Wieder der erste Font ein Problem. (Wie gesagt egal welcher Font als erster
steht)
Das müsste doch heissen das sowohl Dateiname als auch Schriftname stimmen
müsste?
Da ich an ein Zeit problem dachte (Abstand zwischen delete und install) habe
ich zwischen delete und install eine Kustpause von 8 Secunden eingebaut. Doch
das gleiche Resultat.
Sollte das obige irgendeinen Hinweiss gegeben haben bin ich nachwievor für
jede Hilfe dankbar!!!!
Gruß Bernhard

"Gottfried Mayer" wrote:

Hallo Bernhard,

Ich kann mir nur vorstellen, dass die bereits installierte Schriftart
einen anderen Dateinamen verwendet:

Die Windows Schriftart hat zwei verschiedene Namen:
- Dateiname <== Dieser wird vom Skript geprüft
- Schriftartname <== Dieser wird in Windows angezeigt.
Wenn Du eine Schriftartdatei umbenennst kann es zu dieser Situation
kommen. (Meldung usw...)

Stelle also sicher, dass die bereits installierte Schriftart denselben
Dateinamen hat wie die zu installierende Schriftart.


Ich habe mir erlaubt, das untenstehende Skript noch etwas zu optimieren:
1. brauchst Du nicht zwei mal durch alle Schriftarten zu laufen und 2.
kannst Du zum löschen das bereits vorhandene FileSystemObject (oFSO)
verwenden.

Gruss
Gottfried


Bernhard Triller schrieb:
Hallo,
ich habe mir versucht das Script auf meine Bedürfnisse abzuandern.
oFolderCopy ist fix. Und ich muss zuerst die alten Fonts löschen da sie schon
existieren. Das geht soweit gut. Jedoch löscht er der allerersten Font nicht
oder nicht ganz. Alle anderen danach jedoch schon. Deshalb werden alle bis
auf den ersten installiert. auch kommt deshalb die Meldung hoch diesen Font
zuererst zu deinstallieren. Was habe ich falsch gemacht? Danke für jegliche
Hilfe!!! Gruß Bernhard
<Script Start>
' ###########################################
' # installfont.vbs #
' # installs font file in windows fonts dir #
' # (c) 2007 by Gottfried Mayer #
' ###########################################

Dim oFSO, oApp, oFolderCopy, oShell
Dim strFontsPath, strScriptPath

' Create needed Objects
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
Set oApp = CreateObject("Shell.Application")



' Get Path of Windows Fonts directory
strFontsPath = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\Fonts"

' Get Folder Object of Fonts directory (i.E. C:\Scripts\FontsToInstall )
Set oFolderCopy = oApp.Namespace("K:\Update\WTS\Fonts")

' Check each Font if it already is installed


For Each oFont In oFolderCopy.Items
> If oFSO.FileExists(strFontsPath & "\" & oFont.Name) Then
> oFSO.DeleteFile(strFontsPath & "\" & oFont.Name)
> End If
If NOT oFSO.FileExists(strFontsPath & "\" & oFont.Name) Then
' Tell Explorer to copy the Font - this correctly installs it.
oApp.Namespace(strFontsPath).CopyHere oFont
End If
Next

' Cleanup Objects
Set oFolderCopy = Nothing
Set oApp = Nothing
Set oShell = Nothing
Set oFSO = Nothing

<Script Ende>

"Gottfried Mayer" wrote:

Hallo Axel,

Ich hab mal so kurz ein Script zusammengesetzt, das die Schriftart
installieren kann:
Wenn du einfach mit File.Copy vorgehst funktioniert es nicht, wenn du
aber dem Explorer sagst, die Datei zu kopieren dann läufts (und er
registriert die Schriftart auch korrekt.)
Um die Meldung "eine andere Version dieser Schriftart ist bereits
installiert... blabla..." zu überspringen hab ich auch noch eine
Überprüfung auf das Vorhandensein der Schriftart eingebaut:

Das Script benötigt einen Ordner "FontsToInstall" im Verzeichnis wo das
Script liegt, da liegen alle zu installierenden Schriftarten drin.


.



Relevant Pages

  • Re: Font per vbs installieren
    ... Font Directory zu kopieren ist ja nicht das Problem, aber den Font auch noch zu registrieren :-( ... Ich hab mal so kurz ein Script zusammengesetzt, das die Schriftart installieren kann: ... Das Script benötigt einen Ordner "FontsToInstall" im Verzeichnis wo das Script liegt, da liegen alle zu installierenden Schriftarten drin. ... Set oFSO = CreateObject ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Font per vbs installieren
    ... ich habe mir versucht das Script auf meine Bedürfnisse abzuandern. ... auch kommt deshalb die Meldung hoch diesen Font ... Set oFSO = CreateObject ... Ich hab mal so kurz ein Script zusammengesetzt, das die Schriftart ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Font per vbs installieren
    ... Komisch finde ich vor Allem, dass nur beim ersten Font die Meldung kommt, egal welche Schriftart verwendet wird. ... Was den Dateinamen betrifft habe ich folgendes versucht: Alle alten Fonts manuell deinstalliert, danach per script installiert. ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Font per vbs installieren
    ... Die Windows Schriftart hat zwei verschiedene Namen: ... ich habe mir versucht das Script auf meine Bedürfnisse abzuandern. ... auch kommt deshalb die Meldung hoch diesen Font zuererst zu deinstallieren. ... Set oFSO = CreateObjectSet oShell = CreateObject ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Schrift & Formatierungsproblem zw. Word 2000 und Office für Mac 20
    ... mit der Sie nahezu alle Dokumente erstellt ... Die Schriftart ist eine OpenType ttf. ... wenn man unter Windows diese Schriftart im Font ... Schrift in OSX, erscheint das Dokument mit seltsamen, indischen Zeichen ...
    (microsoft.public.de.german.office)