Re: Font per vbs installieren
- From: Bernhard Triller <BernhardTriller@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 9 Jul 2007 00:22:02 -0700
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,> If oFSO.FileExists(strFontsPath & "\" & oFont.Name) Then
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
> 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.
- Follow-Ups:
- Re: Font per vbs installieren
- From: Gottfried Mayer
- Re: Font per vbs installieren
- References:
- Re: Font per vbs installieren
- From: Bernhard Triller
- Re: Font per vbs installieren
- From: Gottfried Mayer
- Re: Font per vbs installieren
- Prev by Date: Re: MapNetworkDrive ohne LW Buchstabe möglich?
- Next by Date: Re: MapNetworkDrive ohne LW Buchstabe möglich?
- Previous by thread: Re: Font per vbs installieren
- Next by thread: Re: Font per vbs installieren
- Index(es):
Relevant Pages
|