[Wapt] Comment déterminer la version d'un logiciel et l'architecture OS

Emmanuel Eugène emmanuel.eugene at inserm.fr
Wed Apr 15 16:01:42 CEST 2020


Bonjour Gaëtan,

Merci pour cette réponse.

Je vais préciser mon besoin: je fais des paquets de déploiements de 
logiciels utilisés en laboratoire et dont le développement est très 
divers.  Certains logiciels n'ont pas d'installateur mais simplement un 
dossier qui doit être déposé tel quel dans un programfiles32 ou 64 en 
fonction de l'architecture. La désinstallation suppose donc un 
remove_tree() du paquet préalablement installé. Je voulais trouver le 
moyen de déterminer l'architecture pour orienter le script sans avoir à 
coder en dur.

De même certain installateur intègre les binaires 32 comme 64 bit qui 
vont donc s'installer dans le bon programfiles et comporte un 
désinstallateur spécifique qu'il faut lancer à l'aide d'une commande de 
type: uninstall_path = makepath(programfiles,'LOGICIEL','unins000.exe')

D'oû l'idée aussi de trouver le moyen de déterminer l'architecture hôte 
pour orienter vers le bon programfiles.

Sinon j'utiliserai le test iswin64() comme cela a été conseillé par 
Hubert Touvet

Bonne journée


------------------------------------------------------------------------
Emmanuel EUGENE

/*A*dministration *d*u *S*iège | ADS
Pôle Informatique

/Courriel/ : emmanuel.eugene at inserm.fr
/Tél. Int :/ 30 350
/Tél. Ext :/ +33 (0)1 44 23 63 40
/Fax. :/ +33 (0)1 44 23 60 60

Inserm
101, rue de Tolbiac
75654 Paris cedex 13
/ 	Logo Inserm

------------------------------------------------------------------------
Le 15/04/2020 à 14:12, Gaëtan SEGAT a écrit :
>
> Bonjour Emmanuel,
>
> pour le premier point :
>
> Control = PackageEntry().load_control_from_wapt('.')
> Version = Control.version
>
> pour le second quel est le besoin ?
> Car normalement avec ce genre de code cela passe pour 90% des cas :
>
> def uninstall():
>     for uninstall in installed_softwares('LOGICIEL'):
>         if uninstall_key_exists(uninstall['key']):
>             killalltasks('LOGICIEL.exe')
>             run(uninstall_cmd(uninstall['key']))
>             time.sleep (5)
>
>
> ---------------------------------------------------------------------------------------------- 
>
> *Gaëtan SEGAT *
> Gestionnaire Parc Informatique
> Inserm| DRSI Toulouse
> CHU Purpan – BP 3048 | 31024 Toulouse cedex 3
> Tél. 05 62 74 83 58
>
> <http://www.inserm.fr>
>
> Le 15/04/2020 à 12:16, Emmanuel Eugène a écrit :
>>
>> Bonjour,
>>
>> J'essaye d'optimiser mes scripts de déploiement de paquets et, en 
>> particulier de pouvoir déterminer automatiquement le maximum de 
>> données pour ne pas avoir à les renseigner.
>>
>> A ce propos, je butte sur deux problèmes:
>>
>>     - déterminer la version d'un logiciel: pour cela j'ai commencé
>>     par utiliser la commande suivante qui fonctionne très bien sur
>>     certains paquets et pas du tout sur d'autre: cela me renvoie 0
>>     (Bien sur le n° de version est renseigné dans le fichier Control)
>>     package_version = control.version.split('-',1)[0]
>>     Mon problème est 1/ que je comprends pas pourquoi et 2/ j'aimerai
>>     trouver une instruction qui me renvoi la version du logiciel:
>>     exemple jamovi-1.1.9.0-win64 me donnerai "1.1.9.0"
>>
>>     - déterminer l'architecture cible de l'hôte: certains binaires
>>     intègrent les versions 32 et 64 bits d'un logiciel qui vont
>>     s'installer dans programfile32 ou programfile64. Lors de la
>>     désinstallation du logiciel il convient donc de faire pointer
>>     l'instruction vers le bon programfile. J'ai donc tenter ce qui
>>     suit mais sans succès car la valeur 32 est systématiquement
>>     retournée.
>>
>>         /import struct
>>
>>         soft = 'jamovi'
>>         softversion = '1.1.9.0'
>>         //arch = struct.calcsize("P") * 8
>>
>>         //targetdir = makepath('programfiles%s' % arch, '%s-%s' %
>>         (soft, softversion))
>>
>>         run(u'"%s" /S' % os.path.join(targetdir,'uninstall.exe'))
>>         /
>>
>>     de même j'ai testé avec platform.architecture()[0] ou
>>     sys.platform() ou encore platform.machine() mais sans plus de succès
>>
>>         //
>>
>> Je suis preneur de tout conseil. Merci d'avance de votre aide
>>
>> Emmanuel
>>
>>
>> ------------------------------------------------------------------------
>> Emmanuel EUGENE
>>
>> /*A*dministration *d*u *S*iège | ADS
>> Pôle Informatique
>>
>> /Courriel/ : emmanuel.eugene at inserm.fr
>> /Tél. Int :/ 30 350
>> /Tél. Ext :/ +33 (0)1 44 23 63 40
>> /Fax. :/ +33 (0)1 44 23 60 60
>>
>> Inserm
>> 101, rue de Tolbiac
>> 75654 Paris cedex 13
>> / 	Logo Inserm
>>
>> ------------------------------------------------------------------------
>> Le 13/04/2020 à 16:33, Pierre Cosson a écrit :
>>>
>>> Bonjour
>>>
>>> Il y a un soucis avec l'affichage des icones dans le self-service, 
>>> ils apparaissent correctement dans la version web du store mais pas 
>>> en self service. Le support a ouvert un ticket a ce sujet. En mode 
>>> teletravail je voulais participer un peu a notre serveur, et je me 
>>> suis cassé les dents comme toi avant d'appeler le support.
>>>
>>> Bon week end
>>>
>>>
>>>
>>> On 10/04/2020 17:15, m.viale at tours-metropole.fr wrote:
>>>>
>>>> Bonjour à tous,
>>>>
>>>> Je rencontre quelques difficultés avec l’affichage des icônes dans 
>>>> le self-service.
>>>>
>>>> Sur les paquets que j’ai créés, je mets bien un une icône se 
>>>> nommant icon.png au format 48x48 dans le dossier WAPT avant 
>>>> d’uploader mon paquet, mais j’ai aucune icône qui remonte dans le 
>>>> self service.
>>>>
>>>> Par contre, sur les paquets que j’ai téléchargé via le store WAPT 
>>>> comme firefox, les icônes apparaissent bien.
>>>>
>>>> J’ai tenté de prendre l’icône de firefox (qui d’ailleurs n’est pas 
>>>> au format 48x48 ;) ) et la mettre dans un de mes paquets mais rien 
>>>> ne s’affiche.
>>>>
>>>> Quand je vais voir dans C:\Program Files (x86)\wapt\cache\icons je 
>>>> n’ai qu’un seul fichier unknown.png également alors que je devrais 
>>>> au moins avoir les icones qui s’affichent dans le self-service non ?
>>>>
>>>> J’ai loupé une étape quelque part ?
>>>>
>>>> Bon week end,
>>>>
>>>> Mathieu
>>>>
>>>>
>>>> _______________________________________________
>>>> WAPT mailing list
>>>> WAPT at lists.tranquil.it
>>>> http://lists.tranquil.it/listinfo/wapt
>>> -- 
>>> ---------------------------------------------------------------------------------------------- 
>>>
>>> *Pierre Cosson *
>>> Gestionnaire de parc| Support services
>>> Inserm/Université Paul Sabatier/CNRS| Centre de Recherches en 
>>> Cancérologie de Toulouse (CRCT <http://www.crct-inserm.fr >)
>>> 2 Avenue Hubert Curien | 31037 Toulouse
>>> Tel. +33 (0)5.82.74.16.90 | Port. +33 (0)5.82.74.16.90
>>>
>>> Me contacter sur Teams 
>>> <https://teams.microsoft.com/l/chat/0/0?users=pierre.cosson@inserm.eu>
>>> <http://www.crct-inserm.fr >
>>>
>>> _______________________________________________
>>> WAPT mailing list
>>> WAPT at lists.tranquil.it
>>> http://lists.tranquil.it/listinfo/wapt
>>
>> _______________________________________________
>> WAPT mailing list
>> WAPT at lists.tranquil.it
>> http://lists.tranquil.it/listinfo/wapt
>
> _______________________________________________
> WAPT mailing list
> WAPT at lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20200415/9b09ad55/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Inbox.gif
Type: image/gif
Size: 40063 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20200415/9b09ad55/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bmojhplddjcnpgnp.png
Type: image/png
Size: 20259 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20200415/9b09ad55/attachment.png>


More information about the WAPT mailing list