Salve,
creo regolarmente pacchetti da poco più di un anno e sto riscontrando un problema:
ho creato un pacchetto per installare un software aziendale (ERDAS 2014 in questo caso). L'installazione avviene senza problemi , ma WAPT la considera errata e non ho idea del perché.
Di conseguenza, questo pacchetto (nonostante sia configurato correttamente) tenterà di reinstallarsi ogni volta che viene apportata una modifica sui PC su cui è installato.
La mia domanda è: è possibile indicare a WAPT (tramite la console) che un pacchetto è stato installato correttamente? (Forzare lo stato OK?).
Non voglio usare la funzione "Dimentica pacchetto", perché vorrei poterlo disinstallare correttamente tramite la console di WAPT quando necessario.
Se questa funzionalità non esiste, forse sarebbe possibile implementarla?
Indicare la validità di un'installazione
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Ciao,
per poterti aiutare abbiamo bisogno del contenuto del pacchetto (setup.py).
Se, ad esempio, lo esegui, è possibile che non restituisca uno stato pari a 0 e quindi Wapt consideri l'installazione fallita.
Per sapere esattamente cosa sta facendo Wapt, devi comunicarci l'errore:
https://www.wapt.fr/fr/doc/Utilisation/ ... et-general
Simon
per poterti aiutare abbiamo bisogno del contenuto del pacchetto (setup.py).
Se, ad esempio, lo esegui, è possibile che non restituisca uno stato pari a 0 e quindi Wapt consideri l'installazione fallita.
Per sapere esattamente cosa sta facendo Wapt, devi comunicarci l'errore:
https://www.wapt.fr/fr/doc/Utilisation/ ... et-general
Simon
Ciao, a quanto pare è un problema di "stato"; non è a 0.
Ecco il contenuto di setup.py:
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = ['{4099F374-39B8-4226-9AC2-2069CEE8BF82}']
def install():
run(r'"foundation\Setup.exe" /s ERDASFoundation2014 /ni ACCEPT_EULA=1')
L'errore:
CalledProcessError: il comando '('"foundation\\Setup.exe" /s ERDASFoundation2014 /ni ACCEPT_EULA=1',)' ha restituito uno stato di uscita diverso da zero (1).
Devo precisare che se eseguo questo comando direttamente dal prompt dei comandi sul PC, non ricevo alcun errore.
Ecco il contenuto di setup.py:
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = ['{4099F374-39B8-4226-9AC2-2069CEE8BF82}']
def install():
run(r'"foundation\Setup.exe" /s ERDASFoundation2014 /ni ACCEPT_EULA=1')
L'errore:
CalledProcessError: il comando '('"foundation\\Setup.exe" /s ERDASFoundation2014 /ni ACCEPT_EULA=1',)' ha restituito uno stato di uscita diverso da zero (1).
Devo precisare che se eseguo questo comando direttamente dal prompt dei comandi sul PC, non ricevo alcun errore.
Buongiorno,
Personalmente, utilizzo la funzione install_exe_if_needed: https://dev.tranquil.it/sphinxdocs/sour ... _se_necessario
Per prima cosa ti servirà uninstall_key; ecco dove puoi trovarlo:
Sinceramente,
Personalmente, utilizzo la funzione install_exe_if_needed: https://dev.tranquil.it/sphinxdocs/sour ... _se_necessario
Per prima cosa ti servirà uninstall_key; ecco dove puoi trovarlo:
Codice: Seleziona tutto
# For OS 64bits and Software 32bits version : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
# For OS 32 bits or 64bits (and Software 64bits version) : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Anche la funzione `install_exe_if_needed` genererà un errore.
https://dev.tranquil.it/sphinxdocs/sour ... _if_needed
Infatti, accetta i codici di uscita 0 e 3010, ma il codice di ritorno 1 non è tra questi.
Se si utilizza `install_exe_if_needed` al secondo passaggio, non dovrebbe generare un errore perché la `uninstallkey` verrà trovata!
È possibile, se lo si desidera, aggiungere il codice di uscita 1, come è consentito per Wapt:
`run('"install.exe" /s',accept_returncodes=[0, 1, 3010])`.
Ma il codice di uscita 1 è un codice di uscita normale?
Simon
https://dev.tranquil.it/sphinxdocs/sour ... _if_needed
Infatti, accetta i codici di uscita 0 e 3010, ma il codice di ritorno 1 non è tra questi.
Se si utilizza `install_exe_if_needed` al secondo passaggio, non dovrebbe generare un errore perché la `uninstallkey` verrà trovata!
È possibile, se lo si desidera, aggiungere il codice di uscita 1, come è consentito per Wapt:
`run('"install.exe" /s',accept_returncodes=[0, 1, 3010])`.
Ma il codice di uscita 1 è un codice di uscita normale?
Simon
Grazie mille, funziona grazie a accept_returncodes=[0, 1, 3010].
Avevo già visto questa funzione, ma non avendola mai usata, me ne ero dimenticato... mi scuso per il disturbo.
Per quanto riguarda il codice di uscita 1, ammetto che, nella maggior parte dei casi, corrispondeva effettivamente a un problema durante l'installazione.
Ma per ERDAS Foundation 2014, l'installazione si completa nonostante questo codice.
Grazie ancora!
Avevo già visto questa funzione, ma non avendola mai usata, me ne ero dimenticato... mi scuso per il disturbo.
Per quanto riguarda il codice di uscita 1, ammetto che, nella maggior parte dei casi, corrispondeva effettivamente a un problema durante l'installazione.
Ma per ERDAS Foundation 2014, l'installazione si completa nonostante questo codice.
Grazie ancora!
Come indicato da Floflobel, l'approccio migliore è utilizzare install_exe_if_needed con accept_returncodes=[0, 1, 3010].
In questo modo, se la chiave di disinstallazione non viene trovata dopo l'esecuzione, il pacchetto fallirà (per una buona ragione
).
In questo modo, se la chiave di disinstallazione non viene trovata dopo l'esecuzione, il pacchetto fallirà (per una buona ragione
