Página 1 de 1

Problema al crear un paquete de endpoint de Bitdefender

Publicado: 18 de junio de 2021 - 18:21
por Remi
Hola a todos,

Antes que nada, como soy nuevo aquí, si no estoy en la sección correcta o falta algo, por favor disculpadme de antemano :D

Para realizar pruebas antes de la implementación para una empresa cliente, estoy creando un paquete de versiones de Bitdefender Gravityzone.

Actualmente, es posible iniciar una instalación clásica mediante la línea de comandos de Windows y una desinstalación utilizando una configuración obtenida del sitio web de Bitdefender y también iniciada a través de la línea de comandos.

línea de instalación:

Código: Seleccionar todo

epskit_x64.exe /configure "installer.xml
línea de desinstalación:

Código: Seleccionar todo

Best_uninstallTool.exe /bdparams /password=monpassword
Actualmente, he logrado que la parte def install() de mi setup.py funcione, sin embargo, estoy un poco estancado en el procedimiento para la parte def uninstall().

Aquí está mi setyp.py:

Código: Seleccionar todo

# -*- 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')

Respecto al proceso de desinstalación, no estoy seguro de cómo agregar mis parámetros y contraseña a un comando de desinstalación. ¿Puede ejecutarlo o lo estoy haciendo completamente mal? ;)

Gracias de antemano a toda la comunidad.
Que tengas una buena noche y un buen fin de semana :)
Rémi Lhommeau

Re: Problema al crear paquetes de endpoints de Bitdefender

Publicado: 21 de junio de 2021 - 15:48
por dcardon
Hola Remi,
cadena de desinstalación = ["C:\Archivos de programa\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe"]
Las barras invertidas son un carácter de escape en Python; debe agregar una r"" antes de la cadena si no desea que se interprete.
Atentamente,
Denis

Re: Problema al crear paquetes de endpoints de Bitdefender

Publicado: 21 de junio de 2021 - 16:06
por Remi
Hola Denis,

Gracias por la aclaración.

Si entiendo correctamente la sintaxis del comando debería ser la siguiente:

Código: Seleccionar todo

uninstallstring = [r"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe"]
¿Puedo agregar los argumentos /bdparams y /password=mypassword de esta manera?

Código: Seleccionar todo

uninstallstring = [r"C:\Program Files\Bitdefender\BitdefenderUninstall\Best_uninstallTool.exe /bdparams /password=monpassword"]
¿O necesito el comando de ejecución posterior para incorporar estos dos argumentos?

Atentamente,
Rémi

Re: Problema al crear paquetes de endpoints de Bitdefender

Publicado: 24 de junio de 2021 - 11:48 a. m.
por Remi
Buen día,

Pequeña actualización:

Logré ejecutar el comando de desinstalación usando el siguiente comando:

Código: Seleccionar todo

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')

Sin embargo, hay un pequeño problema: el comando `run` no se completa y obtengo el siguiente error:

Código: Seleccionar todo

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 ''''
¿Por qué no se elimina la carpeta y el archivo? Ejecuté el comando directamente desde la línea de comandos en la máquina y funciona correctamente.

Sin embargo, mi registro de software muestra que está bien:

Código: Seleccionar todo

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]

Atentamente
Rémi

Re: Problema al crear paquetes de endpoints de Bitdefender

Publicado: 7 de julio de 2021 - 17:29
por dcardon
Consulte las reglas del foro más arriba.

Si se produce un tiempo de espera, puede deberse a que el software tarda mucho en desinstalarse (poco probable) o a que mostró una ventana emergente mientras esperaba un resultado. Si el tiempo de espera se produce en PyScripter sin ningún mensaje específico, lo mejor es contactar con el desarrollador. Si se produce al ejecutarlo a través del servicio, debe verificar que funciona correctamente con la cuenta de Sistema local (consulte otras publicaciones o busque instrucciones en línea).

Saludos,

Denis

Re: Problema al crear paquetes de endpoints de Bitdefender

Publicado: 21 de septiembre de 2021 - 11:23 a. m.
por Tim
Hola Rémi,

¿lograste solucionar tu problema de desinstalación?
Me gustaría hacer lo mismo que tú y usar un paquete WAPT para instalar/desinstalar Bitdefender. :D