Page 1 sur 1

[RESOLU] Erreur "returned non-zero exit status"

Posté : 23 sept. 2019 - 16:37
par Gaetan
Bonjour à tous,
je tente de faire un paquet sur le DELL Command update.

Voici le code :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

CommandVendor = 'wmic systemenclosure get manufacturer'

Vendor = str(run(CommandVendor))

def install():

    if Vendor.find('Dell Inc.') != -1:
        print('installing tls-dell-command-update-3.0.1-a00')
        install_exe_if_needed("Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE",'/s',key='',min_version='3.0.1-a00')
Cela me retourne :

Code : Tout sélectionner

2019-09-23 16:33:13,230 CRITICAL Fatal error in install script: CalledProcessErrorOutput: Command '"Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE" /s' returned non-zero exit status 2.
Output::
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 3846, in install_wapt
    exitstatus = setup.install()
  File "C:\waptdev\tls-dell-command-update-3.0.1-a00-wapt\setup.py", line 14, in install
    install_exe_if_needed("Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE",'/s',key='',min_version='')
  File "C:\Program Files (x86)\wapt\common.py", line 3802, in new_func
    return func(*args,**kwargs)
  File "C:\Program Files (x86)\wapt\setuphelpers.py", line 4227, in install_exe_if_needed
    run(r'"%s" %s' % (exe,silentflags),accept_returncodes=accept_returncodes,timeout=timeout,pidlist=pidlist)
  File "C:\Program Files (x86)\wapt\setuphelpers.py", line 1061, in run
    raise CalledProcessErrorOutput(proc.returncode,cmd,''.join(output))
CalledProcessErrorOutput: Command '"Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE" /s' returned non-zero exit status 2.
Output:

FATAL ERROR : CalledProcessErrorOutput: Command '"Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE" /s' returned non-zero exit status 2.
Output:
Exit code:  3
L'erreur, si je ne me trompe, indique que le fichier n'existe pas.
J'ai beau chercher je ne comprends pas l'erreur.

Si vous avez une idée.
Merci

- Version de WAPT installée (1.7)
- OS du serveur Linux et version CentOS 7
- OS de la machine d'administration/création des paquets Windows 10

Re: Erreur "returned non-zero exit status"

Posté : 26 sept. 2019 - 11:18
par sfonteneau
Bonjour

La commande "Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE" /s renvoie un code d'erreur 2

Code non standard.

Wapt accepte 0 et 3010

Re: Erreur "returned non-zero exit status"

Posté : 26 sept. 2019 - 13:50
par Gaetan
Bonjour,
en effet je suis au courant des codes acceptés par WAPT ainsi que de la signification du code 2.
Mais je ne comprends pas pourquoi WAPT ne peux pas faire l'installation alors que cela fonctionne en ligne de commande et avec d'autres logiciels DELL.
Existe-t-il un moyen d'avoir un résultat plus verbeux ?

Merci

Re: Erreur "returned non-zero exit status"

Posté : 26 sept. 2019 - 17:19
par sfonteneau
Normalement vous avez "Output:" a la fin

Mais c'est bien possible que l'output ne renvoie rien

2 est peu être un code de retour normal et le logiciel est bien installé

Re: Erreur "returned non-zero exit status"

Posté : 30 sept. 2019 - 12:15
par Gaetan
Bonjour,
effectivement le paquet est bien installé.
J'ai donc changé le code en rajoutant au passage un test de présence.
Voici le code :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

CommandVendor = 'wmic systemenclosure get manufacturer'

Vendor = str(run(CommandVendor))

def install():
    print('installing tls-dell-command-update-3.0.1-a00')

    if Vendor.find('Dell Inc.') != -1:
        if os.path.isdir('C:\Program Files\Dell\CommandUpdate') == False:
            install_exe_if_needed("Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE",'/s',key='',min_version='')
            print('Installé sur un PC DELL')
            pass
Merci pour l'aide ;)