OOo installiert ja/nein - wie per Script überprüfen?

spezielle Probleme mit AOO/LO unter Windows

Moderator: Moderatoren

pano
*
Beiträge: 16
Registriert: Fr, 25.08.2006 21:39

OOo installiert ja/nein - wie per Script überprüfen?

Beitrag von pano »

Hallo!

Ich würde gerne in einem Script, wahrscheinlich einer guten, alten .bat, überprüfen, ob OpenOffice installiert ist und, wenn ja, eine Vorlage ins Vorlagenverzeichnis des angemeldeten Benutzers kopieren. Nun bin ich mir allerdings unschlüssig, welches das beste Kriterium ist, welches ich abfragen kann. Das Programmverzeichnis scheidet aus, weil abweichender Inst-Pfad möglich. Im Moment habe ich es so gelöst:

Code: Alles auswählen

reg query HKLM\SOFTWARE\Classes\Applications\swriter.exe
Aber ist das ein gültiges Kriterium? Und kann ich den template-Pfad irgendwo auslesen, oder kann ich sicher sein, das der unter

Code: Alles auswählen

"%USERPROFILE%\Anwendungsdaten\OpenOffice.org2\user\template
garantiert zu finden ist?

Danke schon mal! pano
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: OOo installiert ja/nein - wie per Script überprüfen?

Beitrag von Toxitom »

Hey pano,

theoritisch sind beide Wege denkbar - haben aber immer ein Risiko. Der "HKLM/.../swriter.exe" könnte auch da sein, obwohl OOo länst wieder deinstalliert wurde - manuell oder wie auch immer, jedenfalls ohne den Key zu löschen.
Gleiches gilt auch mit dem Benutzerverzeichnis. Dieses wird bei einer "normalen" OOo Deinstallation eben gerade nicht mit gelöscht - um einstellungsdaten für zukünftige Installationen zu erhalten.
Die sicherste Methode wäre:
OOo per kommandozeile starten (im Hidden-Mode) - eventuelle Fehler abfangen (wenn nicht installiert) -> Dann ist OOo gar nicht drauf :-)
Wenn keine Fehlermeldung kommt, via API OOo ansprechen, dort den Pfad zu den Vorlagen auslesen, zwischenspeichern, OOo wieder schliessen. Jetzt kannst du die Vorlage dort hin kopieren.
Klingt sehr umständlich, ist aber m.A. die einzige sichere Methode, deine Aufgabe zu lösen. Kannst du mit unsicherheiten leben, nimm dein zweites Script: Üblicherweise ist der Vorlagenordner hier:

Code: Alles auswählen

%USERPROFILE%\Anwendungsdaten\OpenOffice.org2\user\template
aber wir gesagt: es gibt ein Restrisiko :-)

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
pano
*
Beiträge: 16
Registriert: Fr, 25.08.2006 21:39

Re: OOo installiert ja/nein - wie per Script überprüfen?

Beitrag von pano »

Hallo Thomas (und Gruß in meine Heimatstadt :) ),

danke für die Klärungen. Es hätte ja sein können, dass es eine einfache bombensichere Methode gibt ...

Eine Anschlußfrage hätte ich aber: OOo im Hintergrund starten lässt sich bestimmt über einen Parameter regeln (kann das gerade nicht nachschauen). Aber habe ich nicht wieder das Problem, das ich den Pfad zur .exe "hart" angeben muss und ins Leere laufe, falls das Programm an einem anderen Ort liegt? Wo ist denn bspw. festgelegt, welches Programm für die .odt-class zuständig ist? Müsste das nicht in der Registry eingetragen sein? Meine rudimentären Registry-Kenntnisse lassen mich das erstmal nicht finden ...

Und noch eine Frage: Wie lese ich denn den Vorlagen-Pfad aus dem gestarteten Programm aus?

Liebe Grüße, pano
Antworten