Prüfung, ob Extension installiert ist

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Prüfung, ob Extension installiert ist

Beitrag von urbarobe »

Hallo,

ich möchte prüfen, ob meine Extension installiert ist. Ich setze LibreOffice 5.1 ein.

Meine jetzige Lösung besteht darin, im Ordner C:\Program Files (x86)\LibreOffice 5\share\uno_packages\cache\uno_packages nach dem Ordner MeineExt.oxt zu suchen. Die Suche gilt, wenn die Extension für alle Benutzer installiert wurde.

Installiere ich meine Extension nur für einen Benutzer, landet die Extension in C:\Users\username\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\uno_packages. Warum das hier in einem Ordner 4 landet, verstehe ich gar nicht.

Gibt es hier eine bessere Lösung, um festzustellen, dass meine Extension installiert ist?

Viele Grüße,
Robert
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Prüfung, ob Extension installiert ist

Beitrag von Stephan »

ja, z.B. über:
http://www.openoffice.org/api/docs/comm ... vider.html

Ich weiß nicht ob es einen noch direkteren Weg gibt, aber pragmatisch funktioniert z.B. bereits:

Code: Alles auswählen

aService = GetDefaultContext().getByName("/singletons/com.sun.star.deployment.PackageInformationProvider") 
tmp = aService.getPackageLocation(<Identifier-String Deiner Extension>)
If FileExists(tmp & "/addon.xcu") Then
	'Extension ist installiert
End If
z.B. am Beispiel meiner Extension mottco:

Code: Alles auswählen

aService = GetDefaultContext().getByName("/singletons/com.sun.star.deployment.PackageInformationProvider") 
tmp = aService.getPackageLocation("org.joesch.mottco")
If FileExists(tmp & "/addon.xcu") Then
	Msgbox "mottco ist installiert"
End If
Die Prüfung auf das Vorhandensein von addon.xcu ist natürlich fakultativ, es geht nur darum auf das Vorhandensein irgendeines Files zu prüfen von dem Du weisst das es Teil DEiner Extension ist.


Gruß
Stephan
urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Re: Prüfung, ob Extension installiert ist

Beitrag von urbarobe »

Danke Stephan.

Funktioniert. Muss nur "addons.xcu" heißen.

Gruß,
Robert
Antworten