Re: Font per vbs installieren



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")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFSO = CreateObject("Scripting.FileSystemObject")



' 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
objFS.DeleteFile(strFontsPath & "\" & oFont.Name)
End If
Next

For Each oFont In oFolderCopy.Items
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
    ... Das von dir abgeanderte script bringt die Meldung (Uninstall the ... Font first) bei allen Fonts. ... dass die bereits installierte Schriftart ... Set oFSO = CreateObject ...
    (microsoft.public.de.german.scripting.wsh)
  • 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
    ... 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: Komtrolle der neu angelegten Mailboxen
    ... ich suche eine Lösung echt per Script. ... zweiten Teil soll eine Mailbox angelegt werden, ... eMailadresse geändert, oder eine neue zusätzlich angelegt werden kann. ... Set oConnection = CreateObject ...
    (microsoft.public.de.exchange)