Schriften ohne Adminrechte installieren

  • Hi,

    unter diesem Thread fand ich bereits was ich suchte, um Schriftarten mithilfe von AutoIt unter Windows zu installieren.
    Soweit läuft das Script auch, allerdings habe ich das Problem, dass Schriften ohne Adminrechte nicht installiert werden können.
    Somit bringt Windows immer die Meldung, dass die Schrift bereits in Benutzung sei und somit nicht kopiert werden könne.

    Die Frage ist jetzt: wie kann ich die Schriften bei Benutzern ohne Adminrechte installieren ?

    Ich bin bereits den Weg gegangen, eine zweite EXE zu erstellen, die von der ersten per "RunAs($UserName, "MeineDomain",$Password, 0, $Program, $workingdir)" mit den Angaben (Benutzername, Kennwort, Domäne) eines Domainadmins aufgerufen wird, weil ich dachte, dass diese dann im Adminkontext läuft und dadurch die Schriften installieren kann.
    Leider jedoch Pustekuchen.

    Hat hier vielleicht jemand schon ähnliche Erfahrungen gemacht und dies gelöst oder weiß jemand wie ich die Restriktion entsprechend umgehen kann, um die Schriften zu installieren ?

    Möchte ungern an 50 Rechner gehen, mich als lokaler Admin anmelden und die Fonts installieren. ;)

    Vielen Dank schonmal vorab !

    Einmal editiert, zuletzt von Niclas (29. Juni 2009 um 16:11)

  • Mh ich habe eien Installer geschrieben um SNMP in der Domain auf Rechner Remote zu installieren.
    Also sollten auch Schriftarten möglich sein.
    Gibt es denn net eine unbeaufsichtigte Installationroutine? Tip unintended XP bei Google suchen.

    Mein Script kopiert dann per psexec mit Adminrechten das Programm und führt es auf dem entfernten PC aus.

    MfG
    Der_Doc

  • Ist 'ne gute Frage.
    Ich wollte es jetzt erstmal mit "Install2Go" probieren, aber leider liegen mir die Fonts nur als OTF und nicht als TTF vor, weshalb ich sie nicht per Drag 'n Drop ins Fenster zum Schnüren des MSI-Paketes ziehen kann.
    Aber das ist 'ne andere Geschichte. ;)

    Bevor die Frage aufkommt: ja, OTFs lassen sich auch als Fonts problemlos installieren - sofern man die entsprechenden Rechte hat. ;)

    Ich weiß nicht ob der Installationsvorgang schon an den Schreibrechten auf C:\Windows\Fonts scheitert, weil unsere User generell nicht auf C:\ schreiben dürfen oder aber ob das Registrieren der Schriften in der Registry letztendlich das Problem verursacht. Vielleicht ist es auch eine Kombination aus beidem weshalb ich die Installation mit den Adminrechten laufen lassen wollte/will.

  • Alles klar, ist gelöst.
    Ich installierte jetzt die Schriften mithilfe von "FontReg.exe", dem Nachfolger von "Fontinst.exe" von Microsoft, das ich als Domain-Admin starten lasse.

    Das Script hierzu, wenn's auch mal jemand braucht:

    [autoit]

    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"

    [/autoit][autoit][/autoit][autoit]

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

    [/autoit][autoit][/autoit][autoit]

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

    [/autoit][autoit][/autoit][autoit]

    sleep(2000)

    [/autoit][autoit][/autoit][autoit]

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

    [/autoit][autoit][/autoit][autoit]

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

    [/autoit][autoit][/autoit][autoit]

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

    [/autoit][autoit][/autoit][autoit]

    Exit

    [/autoit]