Bonjour,
J'aimerais avoir un modèle afin d'effectuer :
Verifier si le logiciel est installé sur le poste client, si il est installé, le désinstallé et ensuite l'installé, s'il n'est pas installé, l'installé.
Merci d'avance
Modèle de script setup.py
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
- sfonteneau
- Expert WAPT
- Messages : 1795
- Inscription : 10 juil. 2014 - 23:52
- Contact :
!!! Compatible uniquement depuis la version 1.3.5 il me semble !!!
Pour installer uniquement si le logiciel n'est pas présent ou que la version est inférieur :
Exe:
Msi (plus simple):
Dans la plupart des cas une désinstallation avant n'est pas nécessaire, mais pas toujours.
Pour lancer une désinstallation:
Cependant cette méthode peu parfois causer des soucis.
En effet Dans l'exemple on recherche un logiciel avec le nom scribus.
Mais si dans nos logiciel, un logiciel se nomme "Sribus plugin extra"
Et bien celui-ci y passera aussi.
Dans ce cas il faudra rendre le setup.py plus précis
Simon
Pour installer uniquement si le logiciel n'est pas présent ou que la version est inférieur :
Exe:
Code : Tout sélectionner
def install ():
install_exe_if_needed('vlc-2.2.2-win32.exe',silentflags='/S --no-qt-privacy-ask --no-qt-updates-notif',key='VLC media player',min_version='2.2.2',killbefore=['vlc.exe'],accept_returncodes=[0],timeout=300)
Code : Tout sélectionner
def install ():
install_msi_if_needed('install_flash_player_21_active_x.msi',killbefore=['iexplore.exe'])
Pour lancer une désinstallation:
Code : Tout sélectionner
softname = 'Scribus'
versionsoft = '15.007.20033'
check_installed_soft = installed_softwares(softname)
if check_installed_soft:
for uninstall in check_installed_soft:
if Version(uninstall['version']) < Version(versionsoft):
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
En effet Dans l'exemple on recherche un logiciel avec le nom scribus.
Mais si dans nos logiciel, un logiciel se nomme "Sribus plugin extra"
Et bien celui-ci y passera aussi.
Dans ce cas il faudra rendre le setup.py plus précis
Simon
Voici mon script afin d'installer Visual Studio 2005 Tools pour Office Second Edition Runtime (vstor2005.exe) :
a priori le code fonctionne que si vstor2005 n'est pas installé, par contre quand vstor2005 est déjà installé voici le message d'erreur :
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = ["{388E4B09-3E71-4649-8921-F44A3A2954A7}"]
uninstallstring = ['msiexec /qb /uninstall {388E4B09-3E71-4649-8921-F44A3A2954A7}']
def install ():
install_exe_if_needed('vstor2005.exe', '/q',accept_returncodes=[0],timeout=300)
def uninstall():
softname = 'Visual Studio 2005 Tools pour Office Second Edition Runtime'
versionsoft = '8.0.50727.940'
check_installed_soft = installed_softwares(softname)
if check_installed_soft:
for uninstall in check_installed_soft:
if uninstall['version'] == versionsoft:
cmd = 'msiexec /qb /uninstall {388E4B09-3E71-4649-8921-F44A3A2954A7}'
run(cmd)
Code : Tout sélectionner
C:\Windows\system32>wapt-get install C:\Users\x\Desktop\Nuxeo\enm
-vstor2005
Installing WAPT file C:\Users\x\Desktop\Nuxeo\enm-vstor2005
2016-05-03 10:13:38,529 CRITICAL Fatal error in install script: EWaptSetupExcept
ion: Fatal error : Setup vstor2005.exe has been and uninstall key None found but
version is not good:
Traceback (most recent call last):
File "C:\wapt\common.py", line 3178, in install_wapt
exitstatus = setup.install()
File "C:\Users\x\Desktop\Nuxeo\enm-vstor2005\setup.py", line 8,
in install
install_exe_if_needed('vstor2005.exe','/q',accept_returncodes=[0],timeout=30
0)
File "C:\wapt\setuphelpers.py", line 3416, in install_exe_if_needed
error('Setup %s has been and uninstall key %s found but version is not good'
% (exe,key))
File "C:\wapt\setuphelpers.py", line 3524, in error
raise EWaptSetupException(u'Fatal error : %s' % reason)
EWaptSetupException: Fatal error : Setup vstor2005.exe has been and uninstall ke
y None found but version is not good
FATAL ERROR : EWaptSetupException: Fatal error : Setup vstor2005.exe has been an
d uninstall key None found but version is not good
Dernière modification par so37 le 03 mai 2016 - 10:16, modifié 1 fois.
quand je fait un uninstall de ce paquet, il est censé désinstaller avec la commande que
Code : Tout sélectionner
msiexec /qb /uninstall {388E4B09-3E71-4649-8921-F44A3A2954A7}
- sfonteneau
- Expert WAPT
- Messages : 1795
- Inscription : 10 juil. 2014 - 23:52
- Contact :
Un problème après l'autre ...
Si aucun min_version n'est renseignée (comme dans votre cas), install_exe_if_needed va lire la version dans les propriétés du fichier exe (si l'exe est bien fait). êtes vous sur de ne pas vouloirs renseignée de min_version ?
Même chose pas d'argument key dans votre commande
Nous verrons la désinstallation plus tard
Si aucun min_version n'est renseignée (comme dans votre cas), install_exe_if_needed va lire la version dans les propriétés du fichier exe (si l'exe est bien fait). êtes vous sur de ne pas vouloirs renseignée de min_version ?
Même chose pas d'argument key dans votre commande
Nous verrons la désinstallation plus tard
voici les modifications faites concernant def install :
Code : Tout sélectionner
def install ():
install_exe_if_needed('vstor2005.exe','/q',min_version='8.0.50727.940',key='Visual Studio 2005 Tools pour Office Second Edition Runtime',accept_returncodes=[0],timeout=300)
- sfonteneau
- Expert WAPT
- Messages : 1795
- Inscription : 10 juil. 2014 - 23:52
- Contact :
Une petit erreur a été corrigée dans le setuphelpers.py
https://github.com/tranquilit/WAPT/comm ... 84de4f0488
Il est possible que votre problème venait de la
Simon
https://github.com/tranquilit/WAPT/comm ... 84de4f0488
Il est possible que votre problème venait de la
Simon
Voici mon modèle pour le moment :
Y'a t-il mieux, est-il suffisamment optimisé ??
Code : Tout sélectionner
# -*- coding: utf-8 -*-
import subprocess
from setuphelpers import *
import os
import time
import platform
uninstallkey = []
uninstallstring = ['msiexec /qb /uninstall {B0E8A140-26FA-43C7-AA0F-03691E6DBB02}']
def install():
global uninstallkey
from common import Wapt
softname = 'Nuxeo MSIE Browser Extension'
versionsoft = '2.1.3'
check_installed = installed_softwares(softname)
# si cette liste globale n est pas vide, on check chaque logiciel
if check_installed:
# boucle pour chaque logiciel trouvée
for uninstall in check_installed:
cmd = "msiexec /qb /uninstall {B0E8A140-26FA-43C7-AA0F-03691E6DBB02}"
run(cmd)
if iswin64():
killalltasks('iexplore.exe')
run("Nuxeo-MSIEBrowserExtension.msi /quiet /norestart")
else:
killalltasks('iexplore.exe')
print run("Nuxeo-MSIEBrowserExtension.msi /quiet /norestart")
def uninstall():
softname = 'Nuxeo MSIE Browser Extension'
versionsoft = '2.1.3'
check_installed = installed_softwares(softname)
# si cette liste globale n est pas vide, on check chaque logiciel
if check_installed:
# boucle pour chaque logiciel trouvée
for uninstall in check_installed:
cmd = "msiexec /qb /uninstall {B0E8A140-26FA-43C7-AA0F-03691E6DBB02}"
run(cmd)
Y'a t-il mieux, est-il suffisamment optimisé ??
EN ayant mis le service WAPTService en administrateur, cava mieux, néanmoins lorsque je met en place le script que j'ai copié ci-dessus voici le message d'erreur :
Code : Tout sélectionner
"id" "description" "summary" "start_date" "logs"
10 Installation of test-nuxeobrowser (=2.1.3-6) (task #10) Exception: Error during install of test-nuxeobrowser (=2.1.3-6): errors in packages test-nuxeobrowser 2016-05-11T13:51:41.573000 Installing test-nuxeobrowser
Exception: Error during install of test-nuxeobrowser (=2.1.3-6): errors in packages test-nuxeobrowser
Traceback (most recent call last):
File "C:\wapt\waptservice\waptservice.py", line 2063, in run
self.running_task.run()
File "C:\wapt\waptservice\waptservice.py", line 1323, in pwrapper
return func(*arg, **kwargs)
File "C:\wapt\waptservice\waptservice.py", line 1383, in run
self._run()
File "C:\wapt\waptservice\waptservice.py", line 1807, in _run
','.join([ p[1].package for p in self.result['errors']]),
Exception: Error during install of test-nuxeobrowser (=2.1.3-6): errors in packages test-nuxeobrowser