Página 1 de 1

[RESUELTO] Error “Estado de salida devuelto distinto de cero”

Publicado: 23 de septiembre de 2019 - 16:37
por Gaetan
Hola a todos,
Estoy intentando crear un paquete usando el comando de actualización DELL.

Aquí está el código:

Código: Seleccionar todo

# -*- 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')
Esto me excita:

Código: Seleccionar todo

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
El error, si no me equivoco, indica que el archivo no existe.
He buscado por todas partes pero no logro entender el error.

Si tienes alguna idea.
GRACIAS

- Versión WAPT instalada (1.7)
- Sistema operativo de servidor Linux y versión CentOS 7
- Sistema operativo de la máquina de administración/creación de paquetes de Windows 10

Re: Error "estado de salida devuelto distinto de cero"

Publicado: 26 de septiembre de 2019 - 11:18 a. m.
por sfonteneau
Hola,

el comando "Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE" /s devuelve el código de error 2, un

código no estándar.

WAPT acepta los códigos 0 y 3010.

Re: Error "estado de salida devuelto distinto de cero"

Publicado: 26 de septiembre de 2019 - 13:50
por Gaetan
Hola,
sí, conozco los códigos que acepta WAPT y el significado del código 2.
Sin embargo, no entiendo por qué WAPT no puede completar la instalación si funciona correctamente mediante la línea de comandos y con otros programas de Dell.
¿Hay alguna forma de obtener una salida más detallada?

Gracias.

Re: Error "estado de salida devuelto distinto de cero"

Publicado: 26 de septiembre de 2019 - 17:19
por sfonteneau
Normalmente, al final aparece "Output:".

Sin embargo, es muy posible que la salida no devuelva nada.

El código de retorno normal podría ser 2, y el software podría estar correctamente instalado.

Re: Error "estado de salida devuelto distinto de cero"

Publicado: 30 de septiembre de 2019 - 12:15 p. m.
por Gaetan
Buen día,
Sí, el paquete está efectivamente instalado.
Entonces cambié el código, agregando una prueba de presencia en el proceso.
Aquí está el código:

Código: Seleccionar todo

# -*- 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
Gracias por su ayuda ;)