Problema durante la creazione del pacchetto Bitdefender Endpoint

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
remi
Messaggi: 3
Registrazione: 18 giugno 2021 - 18:08

18 giugno 2021 - 18:21

Ciao a tutti,

Innanzitutto, essendo nuovo qui, se non sono nella sezione giusta o se manca qualcosa, vi prego di scusarmi in anticipo :D

Per i test preliminari alla distribuzione presso un'azienda cliente, sto creando un pacchetto della versione di Bitdefender Gravityzone.

Attualmente è possibile avviare un'installazione classica dalla riga di comando di Windows e una disinstallazione utilizzando un programma di installazione scaricabile dal sito web di Bitdefender e avviato anch'esso tramite riga di comando.

linea di installazione:

Codice: Seleziona tutto

epskit_x64.exe /configure "installer.xml
riga di disinstallazione:

Codice: Seleziona tutto

Best_uninstallTool.exe /bdparams /password=monpassword
Al momento sono riuscito a far funzionare la parte def install() del mio setup.py, ma sono un po' bloccato sulla procedura per la parte def uninstall().

Ecco il mio setyp.py:

Codice: Seleziona tutto

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

uninstallkey = []

def install():

    if not installed_softwares(u'60c0cf4edc234a6808744eab'):
        print('BitDefender Gravity Zone : Installing...')

        run(u'epskit_x64.exe /configure "installer.xml',timeout=2000,accept_returncodes=[1641,3010,0])

        print('BitDefender Gravity Zone: Installation Complete')
    else:
        print('BitDefender Gravity Zone: Deja installe')

    if not isdir(makepath(programfiles,'Bitdefender','BitdefenderUninstall')):
        mkdirs(makepath(programfiles,'Bitdefender','BitdefenderUninstall'))
        filecopyto('BEST_uninstallTool.exe',makepath(programfiles,'Bitdefender','BitdefenderUninstall'))

def uninstall():

    print('Bitdender Gravity Zone : desinstallation en cours...')

    uninstallstring = ["C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe"]

    x = "/bdparams"
    y = "/password=monpassword"

    run(uninstallstring,x,y,timeout=2000,accept_returncodes=[1641,3010,0])

    print('Nettoyage des fichiers de desinstallation.')
    remove_file(makepath(programfiles,'Bitdefender','BitdefenderUninstall','Best_uninstallTool.exe'))

    print('Suppression du dossier.')
    if dir_is_empty(makepath(programfiles,'Bitdefender','BitdefenderUninstall')):
        remove_tree(makepath(programfiles,'Bitdefender','BitdefenderUninstall'))

    print('Bitdefender Gravity Zone : Desinstallation complete')

Per quanto riguarda il processo di disinstallazione, non sono sicuro di come aggiungere /params e /password a un comando di disinstallazione. `run` può farlo o sto sbagliando completamente? ;)

Grazie in anticipo a tutta la comunità.
Buona serata e buon fine settimana :)
Rémi Lhommeau
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

21 giugno 2021 - 15:48

Ciao Remi,
uninstallstring = ["C:\Programmi\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe"]
Le barre rovesciate sono un carattere di escape in Python; è necessario aggiungere una r"" prima della stringa se non si desidera che venga interpretata.
Sinceramente,
Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
remi
Messaggi: 3
Registrazione: 18 giugno 2021 - 18:08

21 giugno 2021 - 16:06

Ciao Denis,

Grazie per il chiarimento.

Se ho capito bene, la sintassi del comando dovrebbe essere la seguente:

Codice: Seleziona tutto

uninstallstring = [r"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe"]
Posso aggiungere gli argomenti /bdparams e /password=mypassword in questo modo:

Codice: Seleziona tutto

uninstallstring = [r"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe /bdparams /password=monpassword"]
Oppure ho bisogno del comando run in seguito per incorporare questi due argomenti?

Distinti saluti,
Remi
remi
Messaggi: 3
Registrazione: 18 giugno 2021 - 18:08

24 giugno 2021 - 11:48

Buongiorno,

Piccolo aggiornamento:

Sono riuscito ad avviare il comando di disinstallazione utilizzando il seguente comando:

Codice: Seleziona tutto

def uninstall():

    print('Bitdender Gravity Zone : desinstallation en cours...')

    uninstallstring=r'"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe" "/bdparams" "/password=monpassword"'
    run(uninstallstring,timeout=2000,accept_returncodes=[1641,3010,0])

    print('Nettoyage des fichiers de desinstallation.')
    remove_file(makepath(programfiles,'Bitdefender','BitdefenderUninstall','Best_uninstallTool.exe'))

    print('Suppression du dossier.')
    if dir_is_empty(makepath(programfiles,'Bitdefender','BitdefenderUninstall')):
        remove_tree(makepath(programfiles,'Bitdefender','BitdefenderUninstall'))

    print('Bitdefender Gravity Zone : Desinstallation complete')

Tuttavia, c'è un piccolo problema: il comando `run` non viene completato e ricevo il seguente errore:

Codice: Seleziona tutto

2021-06-24 11:38:12,991 [waptcore       ] CRITICAL Fatal error in uninstall function: TimeoutExpired: Command '"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe" "/bdparams" "/password=monpassword"' timed out after 2000 seconds with output '''':
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptpackage.py", line 2928, in call_setup_hook
    hookdata = hook_func()
  File "<string>", line 27, in uninstall
  File "C:\Program Files (x86)\wapt\common.py", line 3705, in run
    return ensure_unicode(setuphelpers.run(*arg, **args))
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 4014, in run
    raise TimeoutExpired(cmd, ''.join(output), timeout)
waptutils.TimeoutExpired: Command '"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe" "/bdparams" "/password=monpassword"' timed out after 2000 seconds with output ''''
Perché non procede con l'eliminazione della cartella e del file? Ho eseguito il comando direttamente dalla riga di comando del computer e funziona correttamente.

Tuttavia, il registro del mio software mostra che è tutto a posto:

Codice: Seleziona tutto

2021-06-24 11:04:54.928 007524 [uninstalltoo] [   TRACE] [ryUt::TelemetryApp::AddUtVersion] -> UninstallTool::TelemetryUt::TelemetryApp::AddUtVersion()
2021-06-24 11:04:54.930 007524 [uninstalltoo] [   TRACE] [tryApp::GetProductVersionFromXml]     -> UninstallTool::TelemetryUt::TelemetryApp::GetProductVersionFromXml()
2021-06-24 11:04:54.930 007524 [uninstalltoo] [   TRACE] [tryApp::GetProductVersionFromXml]     <- UninstallTool::TelemetryUt::TelemetryApp::GetProductVersionFromXml() [0]
2021-06-24 11:04:54.930 007524 [uninstalltoo] [   TRACE] [ryUt::TelemetryApp::AddUtVersion] <- UninstallTool::TelemetryUt::TelemetryApp::AddUtVersion() [31]
2021-06-24 11:04:54.931 007524 [uninstalltoo] [   TRACE] [tryApp::AddTelemetryCommonFields] -> UninstallTool::TelemetryUt::TelemetryApp::AddTelemetryCommonFields()
2021-06-24 11:04:54.931 007524 [uninstalltoo] [   TRACE] [TelemetryApp::GetStrValueFromKey]     -> UninstallTool::TelemetryUt::TelemetryApp::GetStrValueFromKey()
2021-06-24 11:04:54.931 007524 [uninstalltoo] [   TRACE] [TelemetryApp::GetStrValueFromKey]     <- UninstallTool::TelemetryUt::TelemetryApp::GetStrValueFromKey() [0]
2021-06-24 11:04:54.931 007524 [uninstalltoo] [   TRACE] [tryApp::GetProductVersionFromXml]     -> UninstallTool::TelemetryUt::TelemetryApp::GetProductVersionFromXml()
2021-06-24 11:04:54.931 007524 [uninstalltoo] [   TRACE] [tryApp::GetProductVersionFromXml]     <- UninstallTool::TelemetryUt::TelemetryApp::GetProductVersionFromXml() [0]
2021-06-24 11:04:54.931 007524 [uninstalltoo] [   TRACE] [tryApp::GetVarsFromServConfigXml]     -> UninstallTool::TelemetryUt::TelemetryApp::GetVarsFromServConfigXml()
2021-06-24 11:04:54.933 007524 [uninstalltoo] [   TRACE] [tryApp::GetVarsFromServConfigXml]     <- UninstallTool::TelemetryUt::TelemetryApp::GetVarsFromServConfigXml() [0]
2021-06-24 11:04:54.933 007524 [uninstalltoo] [   TRACE] [TelemetryApp::GetStrValueFromKey]     -> UninstallTool::TelemetryUt::TelemetryApp::GetStrValueFromKey()
2021-06-24 11:04:54.933 007524 [uninstalltoo] [   TRACE] [TelemetryApp::GetStrValueFromKey]     <- UninstallTool::TelemetryUt::TelemetryApp::GetStrValueFromKey() [0]
2021-06-24 11:04:54.933 007524 [uninstalltoo] [   TRACE] [tryApp::AddTelemetryCommonFields] <- UninstallTool::TelemetryUt::TelemetryApp::AddTelemetryCommonFields() [0]
2021-06-24 11:04:54.933 007524 [uninstalltoo] [   TRACE] [ UninstallToolApp::GetVendorInfo] -> UninstallToolApp::GetVendorInfo()
2021-06-24 11:04:54.933 007524 [UninstallLib] [   TRACE] [      Uninstaller::GetVendorInfo]     -> Uninstaller::GetVendorInfo()
2021-06-24 11:04:54.942 007524 [UninstallLib] [   TRACE] [      Uninstaller::GetVendorInfo]     <- Uninstaller::GetVendorInfo() [0]
2021-06-24 11:04:54.942 007524 [uninstalltoo] [   TRACE] [ UninstallToolApp::GetVendorInfo] <- UninstallToolApp::GetVendorInfo() [0]
2021-06-24 11:04:54.942 007524 [uninstalltoo] [   TRACE] [etryUt::TelemetryApp::AddOptions] -> UninstallTool::TelemetryUt::TelemetryApp::AddOptions()
2021-06-24 11:04:54.943 007524 [uninstalltoo] [   TRACE] [etryUt::TelemetryApp::AddOptions] <- UninstallTool::TelemetryUt::TelemetryApp::AddOptions() [0]
2021-06-24 11:04:54.944 007524 [uninstalltoo] [    INFO] [  UninstallToolApp::ParseCmdLine] Parent process command line: C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe /bdparams /password=monpassword 
2021-06-24 11:04:54.944 007524 [uninstalltoo] [   TRACE] [  UninstallToolApp::ParseCmdLine] -> UninstallToolApp::ParseCmdLine()
2021-06-24 11:04:54.944 007524 [uninstalltoo] [ WARNING] [  UninstallToolApp::ParseCmdLine]     user command line: "C:\Windows\TEMP\RarSFX5\uninstalltool.exe" 
2021-06-24 11:04:54.944 007524 [uninstalltoo] [    INFO] [  UninstallToolApp::ParseCmdLine]     command: bdparams forceall password 
2021-06-24 11:04:54.944 007524 [uninstalltoo] [   TRACE] [  UninstallToolApp::ParseCmdLine] <- UninstallToolApp::ParseCmdLine() [0]
2021-06-24 11:04:54.945 007524 [uninstalltoo] [   TRACE] [lToolApp::CallProductUninstaller] -> UninstallToolApp::CallProductUninstaller()
2021-06-24 11:04:54.945 007524 [uninstalltoo] [   TRACE] [ninstallToolApp::GetRegistryInfo]     -> UninstallToolApp::GetRegistryInfo()
2021-06-24 11:04:54.955 007524 [uninstalltoo] [   TRACE] [ninstallToolApp::GetRegistryInfo]     <- UninstallToolApp::GetRegistryInfo() [17]
2021-06-24 11:06:14.123 007524 [uninstalltoo] [    INFO] [lToolApp::CallProductUninstaller]     Uninstall finished successfully.
2021-06-24 11:06:14.124 007524 [uninstalltoo] [   TRACE] [lToolApp::CallProductUninstaller] <- UninstallToolApp::CallProductUninstaller() [79187]
2021-06-24 11:06:14.127 007524 [uninstalltoo] [   TRACE] [TelemetryApp::SendTelemetryEvent] -> UninstallTool::TelemetryUt::TelemetryApp::SendTelemetryEvent()
2021-06-24 11:06:14.127 007524 [uninstalltoo] [   TRACE] [TelemetryApp::SendTelemetryEvent]     Dumped telemetry event data: {"anon_id":"242D4D56-1F91-2586-FD78-3B77EC891074-000C29891074","bd_display_name":"Bitdefender Endpoint Security Tools","bd_locale":"fr-FR","bd_product_version":"7.1.2.33","event_name":"m_tool_ran","event_version":"1.0","exit_code":0,"exit_reason":"success","options":["password"],"sensor_class":"com.bitdefender.epswin","sensor_name":"com.bitdefender.epswin","tool":"uninstallTool","tool_version":"7.1.2.33"}

2021-06-24 11:06:14.230 007524 [uninstalltoo] [    INFO] [ls::ExtractEcReportInfoFromEvent]     Warning: event_time field not specified. Fallback to current time [value = 1624525574230]
2021-06-24 11:06:14.230 007524 [uninstalltoo] [   TRACE] [s::TranslateJsonValueToBdecEvent]     -> TelemetryUtils::TranslateJsonValueToBdecEvent()
2021-06-24 11:06:14.230 007524 [uninstalltoo] [    INFO] [cEventWrapper::~BdecEventWrapper]         GetEventTextA = 0
2021-06-24 11:06:14.231 007524 [uninstalltoo] [    INFO] [cEventWrapper::~BdecEventWrapper]         Event [text = {"anon_id": "no_anon_id_provided", "bd_display_name": "Bitdefender Endpoint Security Tools", "bd_locale": "fr-FR", "bd_product_version": "7.1.2.33", "bd_user_hashed": "UNKNOWN", "bdec_version": "3.0.21.191", "fingerprint": "no_fingerprint_provided", "machine_architecture": "x64", "os_build": "10.0.19043.1052", "os_edition": "Professional", "os_name": "Win 8", "os_product_name": "Windows 10 Enterprise", "os_product_type": "workstation", "os_release": "2009", "os_type": "Windows", "os_version": "10.0.19043", "sensor_name": "com.bitdefender.epswin", "temp_device_id": "UNKNOWN"}]
2021-06-24 11:06:14.231 007524 [uninstalltoo] [   TRACE] [s::TranslateJsonValueToBdecEvent]     <- TelemetryUtils::TranslateJsonValueToBdecEvent() [0]
2021-06-24 11:06:14.890 007524 [uninstalltoo] [    INFO] [cEventWrapper::~BdecEventWrapper]     GetEventTextA = 0
2021-06-24 11:06:14.890 007524 [uninstalltoo] [    INFO] [cEventWrapper::~BdecEventWrapper]     Event [text = {"anon_id": "242D4D56-1F91-2586-FD78-3B77EC891074-000C29891074", "bd_display_name": "Bitdefender Endpoint Security Tools", "bd_locale": "fr-FR", "bd_product_version": "7.1.2.33", "bd_user_hashed": "UNKNOWN", "bdec_version": "3.0.21.191", "event_name": "m_tool_ran", "event_time": 1624525574230, "event_version": "1.0", "exit_code": 0, "exit_reason": "success", "fingerprint": "no_fingerprint_provided", "machine_architecture": "x64", "options": ["password"], "os_build": "10.0.19043.1052", "os_edition": "Professional", "os_name": "Win 8", "os_product_name": "Windows 10 Enterprise", "os_product_type": "workstation", "os_release": "2009", "os_type": "Windows", "os_version": "10.0.19043", "sensor_class": "com.bitdefender.epswin", "sensor_name": "com.bitdefender.epswin", "temp_device_id": "UNKNOWN", "tool": "uninstallTool", "tool_version": "7.1.2.33"}]
2021-06-24 11:06:14.890 007524 [uninstalltoo] [    INFO] [TelemetryApp::SendTelemetryEvent]     TelemetryUtils::SendRawNotification returned: 0.
2021-06-24 11:06:14.890 007524 [uninstalltoo] [   TRACE] [TelemetryApp::SendTelemetryEvent] <- UninstallTool::TelemetryUt::TelemetryApp::SendTelemetryEvent() [766]

Distinti saluti
Remi
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

7 luglio 2021 - 17:29

Consulta le regole del forum qui sopra.

Se si verifica un timeout, è perché il software impiega molto tempo a disinstallarsi (improbabile) oppure perché ha visualizzato un popup durante l'attesa del risultato. Se il timeout si verifica in PyScripter senza alcun messaggio specifico, è consigliabile contattare lo sviluppatore. Se si verifica all'avvio tramite il servizio, è necessario verificare che funzioni correttamente con l'account Sistema locale (consulta altri post o cerca istruzioni online).

Cordiali saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Tim
Messaggi: 2
Iscrizioni: 31 agosto 2021 - ore 15:23

21 settembre 2021 - 11:23

Ciao Rémi,

sei finalmente riuscito a risolvere il problema di rimozione?
Vorrei fare la stessa cosa e usare un pacchetto WAPT per installare/disinstallare Bitdefender. :D
Bloccato