FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Detectar firewall en tiempo de ejecuci贸n
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM

Detectar firewall en tiempo de ejecuci贸n

Posted: Wed Feb 12, 2020 07:56 AM
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 (fw): Select all Collapse
聽 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.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: Detectar firewall en tiempo de ejecuci贸n

Posted: Wed Feb 12, 2020 12:16 PM

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.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: Detectar firewall en tiempo de ejecuci贸n

Posted: Wed Feb 12, 2020 01:23 PM
Mira se ayuda:

Code (fw): Select all Collapse
////////////////////////////////////////////////////////////////////////////
//
// 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 - <!-- e --><a href="mailto:kapiabafwh@gmail.com">kapiabafwh@gmail.com</a><!-- e -->
//
////////////////////////////////////////////////////////////////////////////

#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.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM

Re: Detectar firewall en tiempo de ejecuci贸n

Posted: Mon Feb 17, 2020 11:40 AM
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.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Continue the discussion