4mb3r197
Goto Top

Schriften unattended deinstallieren

Hi,

ich schrieb mir ein kleines Script, um Usern die Installation von Schriften unter Windows XP mithilfe von "FontReg.exe" ohne Adminrechte zu ermöglichen.
Nun suche ich noch nach einer Möglichkeit, wie die User Schriften auch wieder DEinstallieren können.

Kann ich "FontReg" auch zum Deinstallieren anwenden ? Leider finde ich hierzu nichts.
Oder gibt es eine andere Möglichkeit ?
Ich denke das simple Löschen von Dateien aus dem Fonts-Ordner bringt nichts, da die Schriften noch in der Registry registriert sind.

Wäre für 'nen Tip dankbar.

Content-ID: 119484

Url: https://administrator.de/contentid/119484

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

colinardo
colinardo 01.07.2009 um 12:13:35 Uhr
Goto Top
hiermit kannst du die Schritart aus der Registry entfernen, das [NAME DER SCHRIFTART HIER] durch den jeweiligen Namen der Schriftart ersetzen.

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v [NAME DER SCHRIFTART HIER]  /f  
4mB3r197
4mB3r197 01.07.2009 um 12:38:43 Uhr
Goto Top
Hi Softmeister,

danke dafür.
Das ist auch der Schlüssel, der beim Installieren einer Schriftart geschrieben wird. Daher reicht es nicht, Schriften per Copy-Befehl in den Fonts-Ordner zu kopieren.

Ich weiß nur nicht ob das Löschen einer Schriftart aus dem Ordner reicht, wenn ich zuvor den Reg-Key gelöscht habe.

Ich werd's mal probieren.
wikont
wikont 01.12.2010 um 11:32:37 Uhr
Goto Top
Hey 4mB3r197!

Wie sieht dann diese Script aus?
Es wäre interessant, wenn User ohne Admin Rechten die Schriften installieren könnten.
Bis jetzt können die User die Fonts schon installieren (Schreibrecht auf C:\Windows\Fonts erteilt)
ABER, bei neuem Rechnerstart sind dann die Schriften wieder weg face-sad

MfG
Wikont
4mB3r197
4mB3r197 01.12.2010 um 13:18:01 Uhr
Goto Top
Hi wikont,

das ganze sieht wie unten stehend aus und wurde von mir mithilfe von AutoIt/Scite erstellt.
Den zugehörigen Beitrag findest Du in meinem Blog unter diesem link

Local $UserName = "sa_musteraccount"
Local $Password = "password"
Local $FontInstallDir = "C:\Dokumente und Einstellungen\" & @username & "\Installationsdateien\"
Local $Program = $FontInstallDir & "FontReg.exe /copy"
Local $workingdir = "\\MyServer\Public\Schrift"

If FileExists("\\MyServer\Public\Schrift\FontReg.exe") Then
DirCreate($FontInstallDir)
FileCopy("\\MyServer\Public\Schrift\*.*", $FontInstallDir, 9)

MsgBox(0,"Installationsstart", "Die Schriftarten werden jetzt installiert.")
RunAs($UserName, "MyDomain",$Password, 0, $Program, $workingdir)

sleep(2000)

MsgBox(0,"Installationsabschluss", "Die Schriftarten wurden erfolgreich installiert und alle temporären Dateien gelöscht.")

FileChangeDir("\\MyServer\Public\")
DirRemove($FontInstallDir,1)

Else
MsgBox(0,"Fehler !", "Die Installation kann nicht ausgeführt werden, weil ein Teil der Installationsdateien fehlt. Bitte wenden Sie sich an den Support.")
EndIf

Exit


In diesem Fall müssen alle benötigten Dateien, also die Schriften, die FontReg.exe sowie mit AutoIt generierte Datei in einem Verzeichnis - hier "..\Public\Schrift" liegen. Diese werden dann bei Ausführung auf die jeweilige lokale Platte kopiert und von dort weiter ausgeführt bzw. verteilt. Anschließend wird der "Installationsordner" auf der lokalen Platte wieder gelöscht.
Das Kopieren und Registrieren der Schriften erfolgt über "FontReg.exe", das im Kontext eines Domain-Admins - hier "sa_musteraccount" - läuft.