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
Code: Alles auswählen
type %Systemdrive%\TMP\registry.tmp | find /i "{" | find /i "}]"
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