Obtenir le n° de version de Oo par programmation via Java ?
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Fraîchement OOthentifié
- Messages : 2
- Inscription : 30 mars 2006 19:22
Obtenir le n° de version de Oo par programmation via Java ?
Bonjour,
Je pilote Oo (transformations, exports, extractions,...) via une application Java. Pour contourner les régressions de la 2.0.2 (l'export PDF notemment) je voudrais connaitre la version de Oo avec laquelle mon appli java "dialogue".
La solution doit être triviale, mais je n'ai pas trouvé ! Quelqu'un a une idée ?
Merci
Sylvain
Je pilote Oo (transformations, exports, extractions,...) via une application Java. Pour contourner les régressions de la 2.0.2 (l'export PDF notemment) je voudrais connaitre la version de Oo avec laquelle mon appli java "dialogue".
La solution doit être triviale, mais je n'ai pas trouvé ! Quelqu'un a une idée ?
Merci
Sylvain
Dernière modification par Sylvain Spinelli le 31 mars 2006 09:28, modifié 1 fois.
Oo 2.0.2, Windows XP
-
- Membre OOrganisé
- Messages : 50
- Inscription : 24 mars 2006 22:19
- Localisation : France - Nantes
Pour obtenir la dernière version d'OpenOffice manuellement, il suffit d'ouvrir un doc openoffice, faire Aide - A propos de... et on a la version installée.
Mais bon, je pense que tout le monde y avait pensé !
Cette information se retrouve dans un fichier Setup.xcu qui se trouve dans :
C:\Documents and Settings\user\Application Data\OpenOffice.org2\user\registry\data\org\openoffice
C'est un fichier xml qu'on peut consulter en modifiant l'extension tout simplement.
Il y a cette macro BASIC qui permet de récupérer cette propriété :
Lancer OOoVersion() vous retournera la version OpenOffice.
Il y a bien aussi la commande
que l'on peut taper directement dans l'éditeur de macros mais c'est une commande StarBasic qui renvoie 645 pour les version 1.1.x et 680 pour les versions 2.x
Jérôme.
Mais bon, je pense que tout le monde y avait pensé !
Cette information se retrouve dans un fichier Setup.xcu qui se trouve dans :
C:\Documents and Settings\user\Application Data\OpenOffice.org2\user\registry\data\org\openoffice
C'est un fichier xml qu'on peut consulter en modifiant l'extension tout simplement.
Il y a cette macro BASIC qui permet de récupérer cette propriété :
Code : Tout sélectionner
Sub OOoVersion() As String
Dim args(0) As new com.sun.star.beans.PropertyValue
oConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
args(0).Name = "nodepath"
args(0).Value = "/org.openoffice.Setup/Product"
oSettings = oConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", args())
OOOVersion= oSettings.getByName("ooSetupVersion")
msgbox OOOVersion
End Sub
Il y a bien aussi la commande
Code : Tout sélectionner
GetSolarVersion()
que l'on peut taper directement dans l'éditeur de macros mais c'est une commande StarBasic qui renvoie 645 pour les version 1.1.x et 680 pour les versions 2.x
Jérôme.
Windows XP SP2 + Ooo 2.0.2 (US)
-
- Membre lOOyal
- Messages : 46
- Inscription : 17 févr. 2006 09:43
- Localisation : 27180
Bonjour,
Je suis étonné de cette question : d'une part parcequ'elle a déjà fait l'objet de plusieurs articles et surtout, et c'est pour cela que je me permets d'intervenir, parcequ'il s'agit d'un sujet commun à presque tous les logiciels.
D'une manière habituelle le menu "Aide" comporte un "À propos" qui donne la version du logiciel; même si, comme naguère pour OOo, ce n'est pas toujours suffisamment explicite.
Je suis étonné de cette question : d'une part parcequ'elle a déjà fait l'objet de plusieurs articles et surtout, et c'est pour cela que je me permets d'intervenir, parcequ'il s'agit d'un sujet commun à presque tous les logiciels.
D'une manière habituelle le menu "Aide" comporte un "À propos" qui donne la version du logiciel; même si, comme naguère pour OOo, ce n'est pas toujours suffisamment explicite.
OOo 2.0.2 sous WinXP SP2 - Que d'eau, que d'eau!
-
- IdOOle de la suite
- Messages : 25602
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Sauf que :glafa a écrit :D'une manière habituelle le menu "Aide" comporte un "À propos" qui donne la version du logiciel.
Sylvain Spinelli a écrit :Je pilote Oo (transformations, exports, extractions,...) via une application Java.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
- Membre lOOyal
- Messages : 46
- Inscription : 17 févr. 2006 09:43
- Localisation : 27180
-
- Fraîchement OOthentifié
- Messages : 2
- Inscription : 30 mars 2006 19:22
Merci pour cette réponse qui m'éclaire un peu, mais la valeur renvoyée est seulement "2.0", sans précision du numéro mineur de version, ce qui m'intéresse.
Pour ceux que ca interresse, voici la traduction en java de la méthode :
Le dernière partie de la méthode nous affiche toutes les propriétés disponibles. Le résultat chez moi est le suivant :
ooName = OpenOffice.org
ooOpenSourceContext = 1
ooSetupExtension =
ooSetupVersion = 2.0
ooXMLFileFormatName = OpenOffice.org
ooXMLFileFormatVersion = 1.0
Quelqu'un connaitrait-il le moyen d'obtenir le numéro "complet" de la version ?
Merci
Sylvain
Pour ceux que ca interresse, voici la traduction en java de la méthode :
Code : Tout sélectionner
XComponentContext vBootstrapContext = Bootstrap.bootstrap();
XMultiComponentFactory vServiceMgr = vBootstrapContext.getServiceManager();
XMultiServiceFactory vConfigProvider = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, vServiceMgr.createInstanceWithContext("com.sun.star.configuration.ConfigurationProvider", vBootstrapContext));
PropertyValue vProps[] = new PropertyValue[1];
vProps[0] = new PropertyValue();
vProps[0].Name = "nodepath";
vProps[0].Value = "/org.openoffice.Setup/Product";
Object vSettings = vConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", vProps);
XNameAccess vSettingsAccess = (XNameAccess) UnoRuntime.queryInterface(XNameAccess.class, vSettings);
//Publication du numéro de version
Object vVersion = vSettingsAccess.getByName("ooSetupVersion");
System.out.println("version=" + vVersion);
//Récupération de toutes les variables disponibles
String[] vNames = vSettingsAccess.getElementNames();
for (int i = 0; i < vNames.length; i++) {
System.out.println(vNames[i] + " = " + vSettingsAccess.getByName(vNames[i]));
}
ooName = OpenOffice.org
ooOpenSourceContext = 1
ooSetupExtension =
ooSetupVersion = 2.0
ooXMLFileFormatName = OpenOffice.org
ooXMLFileFormatVersion = 1.0
Quelqu'un connaitrait-il le moyen d'obtenir le numéro "complet" de la version ?
Merci
Sylvain
Oo 2.0.2, Windows XP
-
- ManitOOu
- Messages : 2562
- Inscription : 26 nov. 2005 13:42
Sous Windows et en version 2.0.2, il existe un fichier version.ini dans le répertoire \C:\Program Files\OpenOffice.org 2.0\program\Sylvain Spinelli a écrit :Quelqu'un connaitrait-il le moyen d'obtenir le numéro "complet" de la version ?
Ce fichier contient en texte, pour la version 2.0.2 :
buildid=680m5(Build:9011)
Je ne sais pas si ce fichier version.ini existe dans toutes les versions antérieures à 2.0.2. Il n'est pas disponible sous 1.1.x. Je ne sais pas s'il est disponible sous Linux ou Mac.
Pour la 2.0.1 le buildid est 680m1(Build:8990)
Pour la 1.1.4 le buildid est 645m52(Build:8824)
Je n'ai pas trouvé où est stocké le "2.0.2", qui serait bien plus pratique.
Bernard
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
-
- Fraîchement OOthentifié
- Messages : 1
- Inscription : 03 avr. 2006 08:32
Pour la version 2.0.2, 2.0.1 (et je pense la 2 aussi) sous Mac et linux ce fichier s'appelle versionrc et il est également dans le dossier program de OO. Ce fichier contient:bm92 a écrit : Je ne sais pas si ce fichier version.ini existe dans toutes les versions antérieures à 2.0.2. Il n'est pas disponible sous 1.1.x. Je ne sais pas s'il est disponible sous Linux ou Mac.
buildid, ProductPatch, ProductSource, ProductMajor, ProductMinor, ProductBuildid et AllLanguages
Parcontre, pour les versions 2 betas soit 1.9.x (comme la 1.9.104 fourni avec fedora core 4 sans maj, ou dans ubuntu 5.10), ce fichier n'existe pas et cette info se trouve dans: bootstraprc (bootstrap.ini sous windows).