Controllo dell'installazione

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
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
Bloccato
Avatar utente
Matteo
Messaggi: 91
Iscrizioni: 18 agosto 2016 - 10:24

27 ottobre 2018 - 19:36

- 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.
- WAPT 2.2.3.12463 Enterprise
- Debian 9.9
- Windows 10 21H2 e Windows 11 22h2
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

28 ottobre 2018 - 14:58

Il tuo primo codice dovrebbe funzionare; non vedo errori.

Tuttavia, verifica che la versione del software installato sia inferiore alla 12.0.6002.5.
Avatar utente
Matteo
Messaggi: 91
Iscrizioni: 18 agosto 2016 - 10:24

1 novembre 2018 - 10:43

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.
- WAPT 2.2.3.12463 Enterprise
- Debian 9.9
- Windows 10 21H2 e Windows 11 22h2
Avatar utente
Matteo
Messaggi: 91
Iscrizioni: 18 agosto 2016 - 10:24

5 novembre 2018 - 10:16

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:
- WAPT 2.2.3.12463 Enterprise
- Debian 9.9
- Windows 10 21H2 e Windows 11 22h2
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

5 novembre 2018 - 14:31

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
Avatar utente
Matteo
Messaggi: 91
Iscrizioni: 18 agosto 2016 - 10:24

5 novembre 2018 - 14:40

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 è.
- WAPT 2.2.3.12463 Enterprise
- Debian 9.9
- Windows 10 21H2 e Windows 11 22h2
Bloccato