Actualizacion automatica en vb

Iniciado por sebas369, 21 Julio 2006, 04:28 AM

0 Miembros y 1 Visitante están viendo este tema.

sebas369

Hola , estoy haciendo un software , y necesito el codigo para q al apretar en un boton , baje un archivo desde internet y lo coloque en la carpeta del .exe , lo q haria el software seria comparar el archivo q baja,con el archivo q esta recientemente y si son distintos le baja la nueva version , alguna idea ?
saludos





Server CS1.6 : 200.43.193.105:27020

<--v1c1ous-->

Simplemente podes crear un ejecutable instalable y al pulsar comrueba si es una nueva versión y lo descarga, ejecuta la instalacion y se cierra para que el usuario siga la nueva instalacion y suplante la antigua.

Pero si lo que queres es especificamente reemplazar archivos en donde se encuentra el programa de instalacion, proseguis de igual forma chequeando nuevas actualizacion y cuando el usuario diga que quiere actualizar descargar los archivos de actualizacion a la carpeta (Con un nombre diferente) y luego el programa ejecuta un ejecutable de actualizacion y se cierra dejando que el mismo programa de actualizacion reemplace los nombre y elimine los archivos antiguos para prevenir errores en tiempo de ejecucion.


sebas369

claro ,eso es lo q quiero hacer , pero necesito bajar los archivos desde inet , por q si no los baja no puede comprobar nada ,





Server CS1.6 : 200.43.193.105:27020

<--v1c1ous-->

Vos elegis.

Podes lograrlo mediante el control Inet:

Declaraciones de la API de WinInet
http://foro.elhacker.net/index.php/topic,85007.0.html

Descargar un programa desde Internet Con Visual Basic 6.0
http://foro.elhacker.net/index.php/topic,71774.0.html

O utilizar winsock:

API de WinSock para VB (Completa)
http://foro.elhacker.net/index.php/topic,62753.0.html

introduccion al control winsock en VB
http://foro.elhacker.net/index.php/topic,17665.0.html

Tutorial del control winsock
http://foro.elhacker.net/index.php/topic,75832.0.html

Transferencia de archivos
http://lympex.sosvulnerable.net/resources/textos/programacion/envio_archivos_vb.htm


sebas369

groxo hotmail  ;D , empiezo a leer ahora   :o :o :o :o





Server CS1.6 : 200.43.193.105:27020

NYlOn

Si quieres podes usar la API URLDownloadToFile, es muy facil. Aca te dejo una funcion
En un modulo:

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Function BajarArchivo(ByVal URL As String, ByVal LocalFilename As String, Optional ByVal EXE As Boolean) As Boolean
    Dim Ret As Long
    Ret = URLDownloadToFile(0, URL, LocalFilename, 0, 0) 'bajas el archivo...
   
    If Ret = 0 Then ' si se bajo correctamente
        If EXE = True Then ShellExecute 0, "", LocalFilename, "", "", 0 'lo ejecutamos (esto es opcional)
    End If
   
    BajarArchivo = Ret 'devolvemos el resultado de la funcion (TRUE si hubo problemas)
End Function



Para usarla seria asi:

BajarArchivo("http://www.world-cs.com.ar/amd.jpg", "C:\asd.jpg", True)


Si te devuelve False es pq no hubo problemas, sino es q no se pudo bajar el archivo (ya sea por URL invlaida o porque indicaste mal la ruta local).

Espero que te sirva, slaudos.-

sebas369

jeje , gracias nylon  ;D , me ahorraste trabajo  :rolleyes: , no me gusta mucho estar leyendo todo :P , VAGO !  :-[





Server CS1.6 : 200.43.193.105:27020