Page 1 of 1

Detectar firewall en tiempo de ejecución

Posted: Wed Feb 12, 2020 7:56 am
by Loren
Compañeros, buenos días:

Tengo un EXE distribuidos entre mis clientes que se conecta vía FTP a un servidor para verificar actualizaciones. Todo ok, excepto para algunos clientes que tienen en su PC muy restrictiva la configuración Firewall y/o windows Defender e impide que el EXE se conecte para verificar estas actualizaciones. Cuando hay una actualización a estos clientes NO se le actualiza, incluso no soy capaz de modificar el código fuente para que al menos se le muestre un msgalert advirtiendo del problema.

Code: Select all

  oFtp     :=tFtp():New(cServer,oInternet,cUser,cPass)
  if !Empty( oFtp:hFtp )
   cmensaje='Conectado al servidor... y cotejando versiones.'
   sysrefresh()
   aFiles :=oFtp:Directory(ALLTRIM(actual_CA)+'/*.exe')
   .....
 

¿Hay alguna manera de poder detectar ese bloqueo de firewall en tiempo de ejecución y así poder mostrar un msgalert al cliente?

Gracias.

Saludos.
LORENZO.

Re: Detectar firewall en tiempo de ejecución

Posted: Wed Feb 12, 2020 12:16 pm
by karinha
Hola, ¿estás seguro de que es el firewall? ¿Tienes una imagen con algún mensaje del hecho?
¿No es un antivirus? Si baja el nivel del firewall, ¿qué sucede?

Saludos.

Re: Detectar firewall en tiempo de ejecución

Posted: Wed Feb 12, 2020 1:23 pm
by karinha
Mira se ayuda:

Code: Select all

////////////////////////////////////////////////////////////////////////////
//
// Propositos: Permitir a manutencao do Firewall( Testado no Windows 7 64 )
//
// Jose Carlos da Rocha - 09/02/2016              Testado no Windows 7 32
//
// Modificado por: Joao Santos - kapiabafwh@gmail.com
//
////////////////////////////////////////////////////////////////////////////

#include "FiveWin.ch"

static oWnd

function Main()

   local oBar

   DEFINE WINDOW oWnd TITLE "Liga/Desliga FireWall do Windows"

   DEFINE BUTTONBAR oBar _3D OF oWnd

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\new.bmp" FLAT       ;
          MESSAGE "Desativar FireWall do Windows"                       ;
          ACTION( FirewallOFF() )                                       ;
          TOOLTIP "Desativar FireWall do Windows"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\open.bmp" FLAT      ;
          MESSAGE "Ativar FireWall do Windows"                          ;
          ACTION( FirewallON() )                                        ;
          TOOLTIP "Ativar FireWall do Windows"

   DEFINE BUTTON OF oBar oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT ;
          MESSAGE "Saida - Exit - Cancelar..."                          ;
          ACTION( oWnd:End() )                                          ;
          TOOLTIP "Saida - Exit - Cancelar..."

   SET MESSAGE OF oWnd TO "Liga/Desliga FireWall do Windows"            ;
       NOINSET CLOCK DATE KEYBOARD

   ACTIVATE WINDOW oWnd

return nil

function FirewallOFF()

   // Jose Carlos da Rocha - 09/02/2016
   ShellExecute( GetActiveWindow(), "RUNAS", "NetSh.exe", "Advfirewall set allprofiles state off", "c:\windows\system32", 0)

return nil
 
function FirewallON()

   // Jose Carlos da Rocha - 09/02/2016
   ShellExecute( GetActiveWindow(), "RUNAS", "NetSh.exe", "Advfirewall set allprofiles state on", "c:\windows\system32", 0)

return nil

// Fin - the end.
 
Saludos.

Re: Detectar firewall en tiempo de ejecución

Posted: Mon Feb 17, 2020 11:40 am
by Loren
Karinha, buenas:

lo primero es pedir perdón por la tardanza en contestar y gracias por su interés.

En principio creo que es Firewall. Hice pruebas en 2 equipos distintos:

En el PC con mi EXE permitido en Firewall:
aFiles :=oFtp:Directory(ALLTRIM(cruta)+'/*.exe')
devuelve aFiles lleno con un EXE encontrado y hace la actualización sin problemas.

En otro PC con mi EXE NO permitido en Firewall:
aFiles :=oFtp:Directory(ALLTRIM(cruta)+'/*.exe')
aFiles está vacío y por tanto NO hace la actualización.

Intentaré hacer pruebas con el código que me facilitas...

Ya te mantendré informado.
Mil Gracias.

saludos.
LORENZO.

Re: Detectar firewall en tiempo de ejecución

Posted: Mon Feb 17, 2020 3:37 pm
by karinha