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

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: OOo installiert ja/nein - wie per Script überprüfen?

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

von pano » Mi, 08.08.2007 18:27

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

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

von Toxitom » Mi, 08.08.2007 08:41

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

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

von pano » Di, 07.08.2007 23:58

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

Nach oben