Pagina 1 di 1

Controlli frequenti per gli aggiornamenti e abilitazione del rinvio

Pubblicato: 23 novembre 2016 - 21:00
di f4242
Salve,

attualmente utilizzo UpdatEngine e sto valutando di sostituirlo con un'alternativa, in quanto lo trovo poco flessibile per le nostre esigenze. WAPT sembra soddisfare la maggior parte dei requisiti, con una sola eccezione.

UpdatEngine verifica la presenza di aggiornamenti ogni 30 minuti e li installa immediatamente (non attende lo spegnimento del computer). Nel mio script di installazione utilizzo il PowerShell App Deployment Toolkit per visualizzare una finestra di dialogo all'utente che gli chiede di chiudere l'applicazione che sto per installare. L'utente può anche posticipare l'installazione fino a 10 volte. Una volta raggiunto questo limite, non è più possibile posticipare l'installazione, che viene quindi forzata.

Dopo aver letto la documentazione, non credo di poter fare questo tipo di operazione con WAPT. Mi sbaglio?

Grazie!

Re: Controlli frequenti per gli aggiornamenti e abilitazione del rinvio

Pubblicato: 25 novembre 2016 - 00:03
di sfontenau
Ciao,

ho appena creato un pacchetto di test che cerca di riprodurre il comportamento che hai descritto (più o meno)

: - Ogni 30 minuti viene eseguito un aggiornamento e, se nessuno è connesso alla macchina, viene avviato un upgrade.
- All'avvio della sessione viene eseguito un aggiornamento/upgrade.
- Quindi, una volta aperta la sessione, viene comunque eseguito un aggiornamento ogni 30 minuti e, se è disponibile un aggiornamento, apparirà un popup che chiede se si desidera avviare l'installazione.
- Ogni 30 minuti, il popup riapparirà.
- Dopo 10 rifiuti, l'installazione verrà forzata!

https://wapt.lesfourmisduweb.org/wapt/e ... 4_all.wapt

Attenzione! Questo è un pacchetto di test!

Re: Controlli frequenti per gli aggiornamenti e abilitazione del rinvio

Pubblicato: 25 novembre 2016 - 16:22
di f4242
Interessante. Lo testerò nei prossimi giorni e ti farò sapere.

Grazie!

Re: Controlli frequenti per gli aggiornamenti e abilitazione del rinvio

Pubblicato: 11 gennaio 2017 - 19:09
di f4242
Ciao,

non ho usato il pacchetto così com'è, ma mi sono ispirato molto ad esso per creare la mia implementazione. Il problema che ho riscontrato con questa implementazione è che non mostra all'utente un elenco delle applicazioni da chiudere.

Quindi, ho creato un pacchetto che esegue le seguenti operazioni:

* Crea un'attività pianificata che si avvia all'avvio del computer e si ripete ogni 30 minuti. Questa attività esegue uno script cmd che esegue semplicemente un `wapt-get update` e un `wapt-get upgrade`.

* Distribuisce una sottocartella in C:\wapt\. Questa directory contiene i file necessari per eseguire uno script PowerShell App Deployment Toolkit (PSADT). Questo script accetta come input il nome dell'applicazione da aggiornare, la sua versione e l'elenco dei processi che devono essere arrestati. Se uno dei processi è in esecuzione, all'utente viene chiesto di chiuderlo, con la possibilità di posticipare l'azione fino a 10 volte.

Ho creato un file custom_setuphelpers.py in cui ho copiato le funzioni install_exe_if_needed, install_msi_if_needed e killalltasks. I nomi delle funzioni sono preceduti da "custom_". Le funzioni install* sono identiche alle originali, tranne per il fatto che chiamo la funzione custom_killalltasks. La funzione custom_killalltasks esegue il mio script PSADT invece di terminare direttamente i processi.

Infine, i miei pacchetti di distribuzione sono leggermente modificati:

importo custom_setuphelpers invece di setuphelpers.
Chiamo le mie funzioni di installazione personalizzate invece delle funzioni originali.

Funziona esattamente come volevo!

Se posso dare un suggerimento, date un'occhiata a cosa fa PSADT (http://psappdeploytoolkit.com/) e considerate la possibilità di integrarlo correttamente in WAPT. Potete fare cose piuttosto avanzate (imporre una scadenza specifica, un limite al numero di rinvii, impedire un aggiornamento se PowerPoint è in modalità presentazione, ecc.). È molto più sicuro che terminare il processo senza preavviso!

Spero che il mio post possa essere utile ad altri.

Buona giornata!