Pagina 1 di 1

[RISOLTO] Errore "Stato di uscita restituito diverso da zero"

Pubblicato: 23 settembre 2019 - 16:37
di Gaetan
Ciao a tutti,
Sto cercando di creare un pacchetto utilizzando l'aggiornamento del comando DELL.

Ecco il codice:

Codice: Seleziona tutto

# -*- 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')
Questo mi eccita:

Codice: Seleziona tutto

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'errore, se non sbaglio, indica che il file non esiste.
Ho cercato ovunque, ma non riesco a capire l'errore.

Se hai un'idea.
GRAZIE

- Versione WAPT installata (1.7)
- Sistema operativo server Linux e versione CentOS 7
- Sistema operativo della macchina di amministrazione/creazione di pacchetti Windows 10

Re: errore "stato di uscita restituito diverso da zero"

Pubblicato: 26 settembre 2019 - 11:18
di sfontenau
Salve,

il comando "Dell-Command-Update_Y2KWD_WIN_3.0.1_A00.EXE" /s restituisce il codice di errore 2, un

codice non standard.

WAPT accetta i valori 0 e 3010.

Re: errore "stato di uscita restituito diverso da zero"

Pubblicato: 26 settembre 2019 - 13:50
di Gaetan
Salve,
sì, sono a conoscenza dei codici accettati da WAPT e del significato del codice 2.
Tuttavia, non capisco perché WAPT non riesca a completare l'installazione, mentre funziona correttamente tramite riga di comando e con altri software Dell.
Esiste un modo per ottenere un output più dettagliato?

Grazie.

Re: errore "stato di uscita restituito diverso da zero"

Pubblicato: 26 settembre 2019 - 17:19
di sfontenau
Normalmente, alla fine compare "Output:".

Tuttavia, è possibile che l'output non restituisca nulla.

Il codice di ritorno 2 potrebbe essere normale e indicare che il software è installato correttamente.

Re: errore "stato di uscita restituito diverso da zero"

Pubblicato: 30 settembre 2019 - 12:15
di Gaetan
Buongiorno,
Sì, il pacchetto è effettivamente installato.
Ho quindi modificato il codice, aggiungendo un test di presenza.
Ecco il codice:

Codice: Seleziona tutto

# -*- 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
Grazie per l'aiuto ;)