Pagina 1 di 2
[RISOLTO] WAPT.download_upgrades() non ha avuto alcun effetto
Pubblicato: 23 luglio 2025 - 16:16
di brice73
Buongiorno,
Nel pacchetto y, devo usare il metodo WAPT.download_upgrades() per aggiornare un altro pacchetto x (aggiornare alla versione n+1 del pacchetto x installato nella versione n) e poi installarlo con WAPT.install(x).
Tuttavia, questo non funziona. Durante l'installazione del pacchetto y (nessun errore, il pacchetto si installa correttamente), la macchina non scarica l'ultima versione (n+1) del pacchetto x e quindi non la installa. Rimane con la versione n del pacchetto x. Non capisco perché, dato che la versione n+1 del pacchetto x è disponibile sul server WAPT e che l'agente della macchina è configurato correttamente per recuperare i pacchetti dal server WAPT. Non è nemmeno un problema di maturità del pacchetto x (il problema si verifica indipendentemente dalla sua maturità). Inoltre, se seleziono la macchina nella console, poi clicco su "Verifica aggiornamenti" e seleziono "E scarica pacchetti", la macchina scarica la versione n+1 del pacchetto x. (Qui sotto, questo "pacchetto x" è "col73-xmind"; voglio aggiornarlo e installarlo durante l'installazione di un altro pacchetto.)
Ecco le righe di codice corrispondenti:
Codice: Seleziona tutto
WAPT.download_upgrades()
for p in WAPT.installed(include_errors=True):
if p.package == 'col73-xmind':
WAPT.install('col73-xmind')
Queste stesse righe di codice funzionavano già prima (l'avevo già fatto in questo modo con un altro pacchetto un anno fa senza problemi)
Da dove potrebbe derivare il problema?
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 24 luglio 2025 - 10:19
di brice73
Ho aggiunto alcune righe di codice per eseguire i controlli e, in effetti, il pacchetto x è presente nella versione n (in realtà la 16), ma stranamente, la versione n+1 (in realtà la 17) disponibile sul server non viene visualizzata, scaricata e installata, secondo il log. Invece, wapt scarica nuovamente e reinstalla la versione n (16)

come mostrato nel registro sottostante.
Tuttavia, come affermato nel mio messaggio precedente, quando controllo gli aggiornamenti dei pacchetti per la workstation utilizzando la console e scarico i pacchetti, la workstation vede e scarica effettivamente la versione n+1 (17)!?
Codice: Seleziona tutto
WAPT.download_upgrades()
for p in WAPT.installed(include_errors=True):
if p.package == 'col73-xmind':
print("paquet col73-xmind détecté")
version_paquet=(p.version).split("-")[1]
print('version du paquet wapt de xmind installé=%s - tentative de maj du paquet"' % version_paquet)
WAPT.install('col73-xmind',force=True)
Di seguito è riportato il registro di installazione del pacchetto col73-xmind8, che contiene le righe di codice precedenti:
pacchetto col73-xmind rilevato,
pacchetto xmind wapt installato versione=16 - tentativo di aggiornamento del pacchetto"
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 262144 / 161672722 (0%) (15,62 Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 68419584 / 161672722 (42%) (64,22 Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 138936320 / 161672722 (86%) (65,72 Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 161672722 / 161672722 (100%) (65,78 Mb/s)
Installazione di XMind
Installazione: xmind-8-update2-windows.exe (3.7.2.0)
Copia della cartella XMind (AppData) in C:\Sources\XMind per l'installazione futura...
Copia completata con successo
Installazione completata con successo
Copia della cartella dell'applicazione portatile XMind8
Pacchetto wapt xmind installato versione=16
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 24 luglio 2025 - 10:24
di sfontenau
Buongiorno
Se controllo gli aggiornamenti dei pacchetti per la workstation scaricando i pacchetti, la workstation vede e scarica correttamente la versione n+1 (17)!?
Quindi nel codice stai facendo un aggiornamento? WAPT.update()
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 24 luglio 2025 - 11:43
di brice73
Ciao Simon,
no, non avevo mai usato WAPT.update() prima.
Eseguendolo prima di WAPT.upgrades() ora funziona, grazie!
Saluti
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 25 luglio 2025 - 15:27
di dcardon
Ciao Brice,
dovresti fare attenzione a non usare `download_upgrade` o `update` in una funzione `install`, perché in molti casi, quando il computer si spegne durante l'installazione, non ci sarà connessione di rete (VPN, Wi-Fi, 802.1x, ecc.) e il download, e quindi l'installazione, falliranno.
Cordiali saluti,
Denis
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 25 luglio 2025 - 19:08
di vcardon
In effetti, è meglio inserire il secondo software come dipendenza del primo nel file di controllo: è molto più pulito e meno soggetto a problemi.
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 29 luglio 2025 - 09:37
di brice73
Ciao Denis e Vincent,
grazie per i vostri consigli. Questo caso è un po' insolito. In realtà, non posso e non voglio rendere questo pacchetto una dipendenza perché ha un nome errato, la sua funzione uninstall() non funziona (restituisce un errore) e non può essere disinstallato così com'è. Quindi voglio sostituirlo con un altro pacchetto, y. Pertanto, sto usando WAPT.update() e WAPT.download_upgrades() per aggiornare il pacchetto difettoso e, nello stesso pacchetto sostitutivo, y, disinstallo il pacchetto x in un secondo momento, dopo l'aggiornamento, usando WAPT.remove(pacchetto x), dato che la funzione di disinstallazione del pacchetto x funziona correttamente.
Ho già rimosso questo pacchetto da tutte le macchine, quindi non verrà reinstallato una volta completata la disinstallazione.
Questo mi permette di automatizzare la sua sostituzione durante l'installazione del nuovo pacchetto corretto. In ogni caso, sarebbe troppo noioso dover disinstallare manualmente il pacchetto x su centinaia di macchine dopo un aggiornamento (le macchine devono anche essere accese affinché questa operazione funzioni). Quindi sto approfittando dell'installazione del nuovo pacchetto sostitutivo per automatizzare questa procedura. L'ho già fatto un anno fa con un altro pacchetto che presentava lo stesso problema e tutto è andato liscio. Su centinaia di macchine, non ci sono stati problemi con il download della nuova versione del pacchetto. Il download viene quindi eseguito da un repository secondario sulla rete locale.
Ma pensavo che quando il sistema si spegne, waptexit iniziasse a scaricare gli aggiornamenti prima di installarli?!
Cordiali saluti,
Brice
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 1 agosto 2025 - 20:01
di vcardon
Ma pensavo che quando Waptexit si è spento, avrebbe iniziato a scaricare gli aggiornamenti prima di installarli?!
No, tutto deve essere stato scaricato prima di avviare waptexit perché non possiamo conoscere lo stato di disponibilità della rete quando il computer è spento.
Ora che conosciamo meglio il tuo caso d'uso, quello che avresti potuto fare è correggere la funzione di disinstallazione del pacchetto di dipendenza, prima inviare la correzione e poi avrebbe funzionato bene, credo, con un'ulteriore correzione al file "control" del tuo pacchetto principale con "depends: newpackage" e "conflicts: oldpackage".
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 5 agosto 2025 - 15:37
di brice73
Ciao Vincent,
Ora che conosciamo meglio il tuo caso d'uso, quello che avresti potuto fare è correggere la funzione di disinstallazione del pacchetto di dipendenza, prima inviare la correzione e poi avrebbe funzionato bene, credo, con un'ulteriore correzione al file "control" del tuo pacchetto principale con "depends: newpackage" e "conflicts: oldpackage".
In effetti, sembra possibile. Pensavo che le macchine sarebbero rimaste in modalità errore perché, se la nuova versione del pacchetto non fosse stata aggiornata dalla macchina, la sua precedente disinstallazione (tramite il conflitto) non sarebbe riuscita e il nuovo pacchetto sostitutivo non si sarebbe installato, ma avrebbe restituito un errore. A pensarci bene, in realtà, dovrebbe essere solo temporaneo, finché le macchine non avessero aggiornato il pacchetto la cui funzione di disinstallazione non funzionava correttamente.
Re: WAPT.download_upgrades() non ha effetto
Pubblicato: 5 agosto 2025 - 19:43
di vcardon
La funzione di disinstallazione può essere corretta con una versione più recente del pacchetto, che è più semplice e affidabile di quello che stai cercando di fare.
L'importante è che tu riesca a fare quello che vuoi con WAPT.