Pagina 1 di 1

[RISOLTO] Disinstallare il software legacy dal computer

Pubblicato: 22 gennaio 2018 - 18:29
di empbilly
Ciao wapters,

mi chiedevo se con wapt sia possibile disinstallare un software già presente sul computer prima dell'installazione del client?

Re: Disinstallare il software legacy dal computer

Pubblicato: 22 gennaio 2018 - 20:29
di sfontenau
Sì, ecco un codice di esempio:

https://www.wapt.fr/en/doc/CreationPaqu ... -logiciels

Codice: Seleziona tutto

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))

Re: Disinstallare il software legacy dal computer

Pubblicato: 22 gennaio 2018 - 21:04
di empbilly
sfonteneau ha scritto: 22 gennaio 2018 - 20:29 Sì, ecco un codice di esempio:

https://www.wapt.fr/en/doc/CreationPaqu ... -logiciels

Codice: Seleziona tutto

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))
Scusate la domanda, ma devo eseguire questo codice da qualche parte o salvarlo come pacchetto wapt e collegarlo al computer, oppure niente di tutto questo?

Re: Disinstallare il software legacy dal computer

Pubblicato: 22 gennaio 2018 - 21:18
di sfontenau
Come hai detto, devi creare un pacchetto wapt che disinstallerà il software.

Re: Disinstallare il software legacy dal computer

Pubblicato: 22 gennaio 2018 - 21:48
di empbilly
sfonteneau ha scritto: 22 gennaio 2018 - 21:18 Come hai detto, devi creare un pacchetto wapt che disinstalli il software.
Bene. Così?

setup.py

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey=[]

def install():

    softname = 'firefox'
    check_installed_soft = installed_softwares(softname)
    if check_installed_soft:
             for uninstall in check_installed_soft:
                key=uninstall['1233A4A7-BA0B-4067-BE21-FB97AFABC0CF']
                if installed_softwares(uninstallkey=key):
                         run(WAPT.uninstall_cmd(uninstall['key']))

Re: Disinstallare il software legacy dal computer

Pubblicato: 22 gennaio 2018 - 22:00
di sfontenau
Il tuo codice funziona. Propongo di semplificarlo:

Codice: Seleziona tutto

def install():
    if uninstall_key_exists('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'):
        run(WAPT.uninstall_cmd('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'))

Re: Disinstallare il software legacy dal computer

Pubblicato: 23 gennaio 2018 - 12:25
di empbilly
sfonteneau ha scritto: 22 gennaio 2018 - 22:00 Il tuo codice funziona. Propongo di semplificarlo:

Codice: Seleziona tutto

def install():
    if uninstall_key_exists('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'):
        run(WAPT.uninstall_cmd('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'))
sfontenau,

Questa "chiave" è il valore trovato nella colonna "Chiave di disinstallazione" dall'inventario software nella console wapt, giusto?

Re: Disinstallare il software legacy dal computer

Pubblicato: 23 gennaio 2018 - 12:41
di sfontenau
empbilly ha scritto: 23 gen 2018 - 12:25 Questa "chiave" è il valore che si trova nella colonna "Chiave di disinstallazione" dell'Inventario software nella console wapt, giusto?
SÌ!
puoi anche trovare la chiave di disinstallazione con questo comando: https://www.wapt.fr/en/doc/Utilisation/ ... t-registry

Con il secondo codice che ho fornito è possibile disinstallare il software che ha la chiave di disinstallazione "'1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'"



Il codice seguente consente di disinstallare tutti i software che utilizzano la parola "winscp" nelle informazioni della chiave di disinstallazione.

Codice: Seleziona tutto

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))

Re: Disinstallare il software legacy dal computer

Pubblicato: 23 gennaio 2018 - 13:35
di empbilly
sfonteneau ha scritto: 23 gennaio 2018 - 12:41
empbilly ha scritto: 23 gen 2018 - 12:25 Questa "chiave" è il valore che si trova nella colonna "Chiave di disinstallazione" dell'Inventario software nella console wapt, giusto?
SÌ!
puoi anche trovare la chiave di disinstallazione con questo comando: https://www.wapt.fr/en/doc/Utilisation/ ... t-registry

Con il secondo codice che ho fornito è possibile disinstallare il software che ha la chiave di disinstallazione "'1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'"



Il codice seguente consente di disinstallare tutti i software che utilizzano la parola "winscp" nelle informazioni della chiave di disinstallazione.

Codice: Seleziona tutto

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))
Ora funziona!!! Grazie per l'aiuto sfonteneau!!! :)

Il codice per disinstallare solo con la chiave non funzionava, ma con il codice sopra funziona a meraviglia!

Alla fine il codice è simile a questo:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey=[]

def install():
	for soft in installed_softwares('old_version_of_firefox'):
                run(WAPT.uninstall_cmd(soft['key']))
Per i nuovi utenti, ricordatevi di creare o copiare i file "control" e "wapt.psproj" e di posizionarli all'interno della cartella "WAPT" nella root del pacchetto, ovvero insieme al file "setup.py".

Dopodiché, è necessario compilare il pacchetto con il comando seguente:

Codice: Seleziona tutto

wapt-get build-package <path of the files>
cioè.:

Codice: Seleziona tutto

wapt-get build-package c:\waptdev\test-remove-firefox