Seite 1 von 1

Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 02 Nov 2009, 16:03
von othiman
Hallo zusammen.

Ich hole mal etwas weiter aus, damit mein Problem auch jeder nachvollziehen kann:

Bei uns tritt bei Rechnern, auf denen der opsi-Client nachträglich installiert wurde, häufig das Problem auf, dass sich Software nicht richtig deinstallieren lässt. Dies liegt daran, dass die auf dem jeweiligen System installierte Version recht alt ist und damit das Deinstallationsskript bzw. der entsprechende "MSI-Uninstallstring" nicht stimmen. Um dieses Problem zu umgehen bzw. nicht so lange Listen wie bei der Deinstallation das java-vm Paketes zu bekommen, habe ich mir folgendes System überlegt:
Als erstes werden mittels

Code: Alles auswählen

start /wait "" REGEDIT /E %Systemdrive%\TMP\registry.tmp HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\windows\currentversion\uninstall
alle Uninstall Keys aus der Registrierungsdatei ausgelesen und anschließend mit

Code: Alles auswählen

type %Systemdrive%\TMP\registry.tmp | find /i "{" | find /i "}]"
die Einträge ausgefiltert, die die geschwungenen Klammern enthalten. Aus diesem Ergebnis soll danach der Displayname ausgelesen werden und mit einem String-Vergleich herausgefunden werden, ob ein Paket mit dem vorgegeben Namen installiert ist. Ist dies der Fall wird aus dem Uninstall Command der "MSI-Uninstallstring" ausgelesen und damit die Software deinstalliert.

Nun stoße ich auf folgendes Problem: Beim Ausführen des zweiten Kommandos werden die Registrierungsschlüssel in der Konsole ausgegeben und ich möchte diese mit der getOutStreamFromSection()-Funktion in einer String-Liste auffangen und weiterverarbeiten. Allerdings wird die Ausgabe statt in einem Eintrag nach 40 Zeichen abgebrochen und der Rest in einen zweiten Listeneintrag gespeichert. Ich vermute, dass dies am Umbruch in der DosBox liegt!? Kann das jemand bestätigen oder liegt hier ein anderes Problem vor?

Ich kann natürlich die String-Liste durchgehen und aus 2 Strings wieder einen machen, aber so wird es dann leider ganz schön unübersichtlich... Vielleicht hat jemand ja ne bessere Idee!?

Gruß,
Thomas

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 04 Nov 2009, 13:18
von othiman
Hallo,

hab das Problem jetzt erstmal umgangen indem ich zwei Strings aus der Liste zusammenkopiere. Wen es interessiert kann ein Beispiel anhand von TortoiseSVN hier finden: https://forum.uib.de/viewtopic.php?f=6& ... ddc8be22e6.

Jeder Vorschlag zur Verbesserung oder Erklärung des Problems würde mich aber trotzdem freuen. Das Skript ist so schon ziemlich unübersichtlich.

Gruß,
Thomas

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 05 Nov 2009, 11:19
von r.roeder
Hallo,

normalerweise bricht getOutStreamFromSection nicht nach 40 Zeichen um. Wie sieht denn die Ausgabe der Dos-Kommandos aus, wenn direkt in einer Cmd-Fenster aufgerufen?

Gruß,

R. Röder

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 05 Nov 2009, 11:48
von othiman
Hallo,

ich hab mal die Ausgabe des Skripts (ergänzt um ein "pause" am Ende um die Ausgabe sehen zu können) als JPEG angehängt. Da ist der Umbruch an einer anderen Stelle als bei Aufruf des Opsi-Skripts. (Im Skript wird die Ausgabe nach dem w von windows geteilt.)

Vielleicht hat das Ganze aber ja auch eine andere Ursache. Das mit dem Umbruch war nur so ne Idee von mir...

Gruß,
Thomas

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 08 Nov 2009, 14:29
von d.oertel
Hi,

ich habe auch schon merkwürdige Umbrüche in diesem Kontext gesehen.
Ich empfehle daher dringend eine 'DosBatch' Sektion deren Ausgaben eingefangen werden sollen zu beginnen mit:

Code: Alles auswählen

@echo off
Das hat bei mir in der Regel das Problem gelöst.

gruss

d.oertel

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 09 Nov 2009, 11:21
von othiman
Hallo,

danke für die Antwort. Das

Code: Alles auswählen

@echo off
ist bereits im Skript integriert und bringt leider keine Abhilfe. Gibt es vielleicht noch einen anderen Trick?

Gruß,
Thomas Schlien

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 20 Dez 2009, 16:00
von d.oertel
Hi,

der neue Winst aus Testing sollte das Problem fixen.
siehe:
viewtopic.php?f=1&t=1128
http://download.uib.de/opsi3.4/testing/ ... 3.5-1.opsi

gruss
d.oertel

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 21 Dez 2009, 11:01
von othiman
Hi,

ich werde das auf jeden Fall mal testen. Wahrscheinlich komme ich aber erst im neuen Jahr dazu.

Viele Grüße,
Thomas Schlien

Re: Umbruch bei Verwendung von getOutStreamFromSection()

Verfasst: 16 Feb 2010, 17:40
von othiman
Hallo,

ich hatte heute endlich Zeit die neue Winst Version zu testen und es funktioniert einwandfrei. Vielen Dank dafür!

Viele Grüße,
Thomas Schlien