alix
Goto Top

Registrystring durch einen anderen ersetzen. Windows7

Ich möchte eine vorhandene Latexinstallation durch eine neue Version ersetzen. (Während der PC läuft im Hintergrund, ohne dass es der Nutzer merkt.)

Dazu habe ich ein Zipfile in einen temporären Ordner kopiert und ausgepackt und so einen Ordner c:\tl2013 neben dem vorhandenen c:\tl2012 erzeugt. Alles kein Problem das kann ich im Hintergrund mit dem Novell-ZenWorks bequem erledigen.
Das einzige was noch fehlt ist ein script (cmd File, vbscript oder perlscript) was mir die Registry Schlüssel umbiegt, dh. ich muss in der gesamten Registry die Zeichenkette tl2012 durch tl2013 ersetzen.
Falls das nicht geht, würde es auch reichen nur im Pfad die Zeichenkette tl2012 durch tl2013 zu ersetzen.

Die meisten TeX Programme nutzen den Pfad um zu wissen, wo LaTeX ist. Einige Programme schreiben sich ihre Erkenntnisse über die Lage der TeX Binarys in die Registry, deshalb wäre es besser gleich in der Registry tl2012 durch tl2013 zu ersetzen.
Aber der Pfad würde mir auch schon reichen.

Mein Problem ist, jeder PC ist individuell, d.h. ich kann nicht die ganze Pfadvariable neu setzen. Ich muss unbedingt die Zeichenkette tl2012 ersetzen. Geht das irgendwie? Ich müsste sonst zu ca. 80 PC's hinlaufen mich als admin anmelden und den Pfad per Hand ändern.

Content-Key: 208805

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

Printed on: April 24, 2024 at 10:04 o'clock

Member: DerWoWusste
DerWoWusste Jun 28, 2013 at 11:25:21 (UTC)
Goto Top
Hi.

Du kannst per GPO im Bereich preferences (Einstellungen) beliebige Registrywerte setzen lassen. Das mit der Pfadvariable kannst Du natürlich auch machen, dazu müsste ein Startskript die Variable dumpen und dann per Kommandozeile suchen und ersetzen und sie dann wieder einsetzen. Ich nutze für das Suchen ersetzen ein Sondertool: dossr.exe. Wenn Du das nicht nutzen willst (gehört zu file monkey), dann musst Du mal schauen, wie Du das Suchen/Ersetzen machst.
Member: Alix
Alix Jun 29, 2013 at 15:17:38 (UTC)
Goto Top
GPO hab ich noch nie benutzt, ich hab mir gerade ein Buch zu Gruppenrichtlinien gelkauft um das endlich mal anzugehen. Aber ich will ja keine Variablen setzen sondern die gesetzen ersetzen. Ich weiß nicht, wo Überall in der Registry bei meinen individuellen Nutzern der string "tl2012" steht, deshalb ja meine Idee mit dem ersetzen an allen vorkommenden stellen.
Den Pfad zu ändern ist das Mindeste was ich machen muss. Hmm... ich werde mir mal dossr.exe ansehen, mal sehen ob ich damit klarkomme. Danke für den Tip.
Member: DerWoWusste
DerWoWusste Jun 29, 2013 at 15:23:49 (UTC)
Goto Top
Da das ganze doch noch etwas planlos aussieht, erlaube die Frage: setzt Latex diese Pfade wirklich nicht selbst?
Member: Alix
Alix Jun 29, 2013 at 15:38:45 (UTC)
Goto Top
Natürlich setzt Latex die Pfade selbst. Latex Version 2013 braucht aber nur einen Pfad auf c:\tl2013\bin\win32.

Für die Textverarbeitung gibt es aber diverse Editoren (Texworks, winedt, texnikcenter...) Jeder Nutzer hat da seinen eingenen Editor. Und dann ist da noch ghostscript/ghostview und der Acrobat. Die alle von diesen Editoren auch benutzt werden. Manchmal wird das in LaTeX enthaltenen Ghosscript benutzt, man kann auch ein eigenes Nutzen. Manche wollen statt Acrobat einen eigenen pfd Betrachter.

Ich möchte nur Latex ersetzen indem ich ein ca. 2GB großes zipfile mit dem Novell ZEN Agent auf den PC kopiere, das dort auspacke und zuletzt, so der Plan, zumindest den Pfad ändere. Nett wäre natürlich wenn ich auch den diversen/individuellen anderen Programmen gleich noch sagen könnte wo das neue Latex liegt. (wobei die meisten es allein finden, oder nach einem "such mich")

Ich könne natürlich auch das c;:\tl2012 Vereichnis in c:\TL2012.old umbenennen und das neu erzeugte von Tl2013 in tl2012... das ist ja nur ein optisches Problem, denn wenn ich tl2013 nehme sehe ich sofort, dass alles geklappt hat. DAnn merkt keines der Programme das es ein Neues TeX gibt.

Ich kann auch ein txt File $tl2013_ok.txt in dem c:\tl2012 erzeugen und das bei Bedarf abfragen (nächstes Jahr z.b wenn die neue Version kommt)

Ein paar PC's kann ich nicht remote erneuern, die haben nur 3-4GB Platz frei. Ich brauch ca. 10GB damit danach noch w7 genug Luft hat.

Ich hatte nur eben die Kühne Idee, wenn man in der Registry einfach überall tl2012 durch tl2013 ersetzt, ist alles erledigt.... Wie es scheint kann man das aber nicht so ohne weiteres.
Member: DerWoWusste
DerWoWusste Jul 01, 2013 at 05:29:05 (UTC)
Goto Top
Moin.

Wie es scheint kann man das aber nicht so ohne weiteres.
Wenn Du eine Liste mit den Werten hättest, was würde Dich hindern, diese zu importieren? Vielleicht mal hier reinschauen und Anregungen beziehen: Mehrere Registry Keys auf einmal löschen
Member: Alix
Alix Jul 01, 2013 updated at 13:22:06 (UTC)
Goto Top
Danke für den link!
So könnte es gehen!
Die Schlüssel auslesen und löschen. Die Ausgelesenen korrigieren und wieder neu reinschreiben!