Pagina 1 di 1

Controllo dell'installazione

Pubblicato: 27 ottobre 2018 - 19:36
di Mathieu
- Versione WAPT installata (1.6.2.7 Enterprise)
- Sistema operativo del server (Linux) e versione (Debian Strech)
- Sistema operativo della macchina di amministrazione/creazione dei pacchetti (Windows 10)


Buongiorno,

Presto implementeremo WAPT nel nostro parco, tuttavia sto riscontrando un problema con alcuni dei miei pacchetti.

Alcuni dei miei pacchetti hanno delle righe di comando dopo l'installazione (run o install_exe_if_needed) per copiare file, creare chiavi di registro, ecc
Per evitare di riscrivere determinati dati e di perdere la configurazione su macchine già installate, ho copiato parte del codice da un pacchetto per verificare che il software fosse installato correttamente.

Ho provato diversi metodi, ma alcuni pacchetti non si installano

1.

Codice: Seleziona tutto

def install():

    global uninstallkey
    from common import Wapt

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    Software = [ soft for soft in installed_softwares(softname) if Version(soft['version']) < Version('12.0.6002.5') ]

    if Software:
        print('installing futur-DameWareRS')
        run('DameWareRS.exe /args "/qn reboot=reallysuppress SILENT=yes INSTALLSTANDALONE=0 CENTRALSERVERHOSTNAME=*****.****.***.fr CENTRALSERVERPORT=6133"')
    else:
        print('already installed')
2.

Codice: Seleziona tutto

def install():

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    
    if not check_installed_out:
        print('installing futur-DameWareRS')
        run('DameWareRS.exe /args "/qn reboot=reallysuppress SILENT=yes INSTALLSTANDALONE=0 CENTRALSERVERHOSTNAME=*****.*****.****.fr CENTRALSERVERPORT=6133"')
    else:
        print('already installed')
Preferisco il codice 1 perché controlla la versione installata, quindi se devo aggiornare il software, l'aggiornamento non verrà eseguito perché rileverà che il software è già installato. Tuttavia, ho un problema: quando disinstallo il software e poi testo il mio script, non fa altro che stampare l'output.

Quando stampo la mia variabile, questa è vuota; il mio script dovrebbe eseguire l'installazione.

Esiste un metodo più semplice per l'implementazione sulle workstation già in uso?

Mi rivolgo a voi perché da diverse settimane mi sto scervellando per trovare una soluzione e la data di avvio della produzione si avvicina rapidamente

Grazie.

Oggetto: Verifica dell'installazione

Pubblicato: 28 ottobre 2018 - 14:58
di sfontenau
Il tuo primo codice dovrebbe funzionare; non vedo errori.

Tuttavia, verifica che la versione del software installato sia inferiore alla 12.0.6002.5.

Oggetto: Verifica dell'installazione

Pubblicato: 1 novembre 2018 - 10:43
di Mathieu
Tuttavia, ho mantenuto la soluzione 1, ma, ad esempio, con un altro software, non si installa nulla anche se il software non è presente sulla macchina; la variabile `Software` non visualizza nulla.

Quando eseguo un `print`, ottengo `[]` come output.

Il comando funziona correttamente per controllare la macchina, ma per una nuova installazione non succede nulla, anche se dovrebbe installarsi dato che non rileva il software.

Oggetto: Verifica dell'installazione

Pubblicato: 5 novembre 2018 - 10:16
di Mathieu
Penso di aver trovato una soluzione, ma non ne sono sicuro

Sto facendo due controlli e per il momento funziona

Codice: Seleziona tutto

def install():

    global uninstallkey
    from common import Wapt

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    Software = [ soft for soft in installed_softwares(softname) if Version(soft['version']) < Version('12.1.0.34') ]

    if Software or not check_installed_out:

Oggetto: Verifica dell'installazione

Pubblicato: 5 novembre 2018 - 14:31
di sfontenau
Perché non usare `install_exe_if_needed` invece di `run`?

Esegue già tutti questi controlli. (Se necessario, copia e incolla la funzione `install_exe_if_needed`)

https://github.com/tranquilit/WAPT/blob ... s.py#L4152

Oggetto: Verifica dell'installazione

Pubblicato: 5 novembre 2018 - 14:40
di Mathieu
Per alcuni file .exe o .msi, questa soluzione non funziona, motivo per cui sono passato a un comando di esecuzione.

Abbiamo determinati comandi per configurare il software (configurazione ODBC, copia di file di configurazione, ecc.). Senza verifica, anche con `install_exe_if_needed`, il pacchetto eseguirà i comandi di configurazione. Voglio impedire che le configurazioni vengano modificate.

Per questo motivo sto cercando un modo per verificare se il software è installato sulla macchina, ma eseguire il pacchetto solo se non lo è.