Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Aviso de Actualizacion en aplicacion portable

Estas en el tema de Aviso de Actualizacion en aplicacion portable en el foro de Visual Basic clásico en Foros del Web. Hola, he creado una aplicacion la cual no hace falta instalar ya que es una ejecutable portable muy basico en Visual Basic 6 Me gustaria ...
  #1 (permalink)  
Antiguo 10/11/2011, 12:51
 
Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Pregunta Aviso de Actualizacion en aplicacion portable

Hola, he creado una aplicacion la cual no hace falta instalar ya que es una ejecutable portable muy basico en Visual Basic 6

Me gustaria que al ejecutar el exe, un msgbox avisara si existe una nueva version del programa con la pregunta 'Hay una Nueva version del programa que corrige los ultimos errores ¿Deseas descargarla?', con la opcion Aceptar (la cual descargaria la nueva version) o Cancelar (cerraria aplicacion)

No uso servidor, y por seguridad siempre subo mis ejecutables (exe) comprimidos en rar.

Como la aplicacion es portable y no instala nada, no se como podria hacer para que comprobara si hay una version nueva.

Podriais ayudarme? Soy novatisima en esto de programar, por lo que necesitaria ver el codigo tal cual y si pudieran explicar que hace cada parte aprenderia las opciones que tengo.

mil gracias amigos
  #2 (permalink)  
Antiguo 13/11/2011, 14:39
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 21 años
Puntos: 19
Respuesta: Aviso de Actualizacion en aplicacion portable

Registrarse con nick de mujer, no va a hacer que te respondan mas rapido.

Para actualizar un programa, si o si deberias de subir el archivo mas nuevo en algun servidor web.

Tu programa tiene una version mayor, menor y revision... Lo que podes hacer es verificar si existe una version mayor a la que actualmente esta ejecutando, en caso positivo que descargue esa nueva aplicacion..

Asi de facil...

Habria que comenzar adquiriendo un servidor web con acceso ftp.
  #3 (permalink)  
Antiguo 13/11/2011, 14:44
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 6 meses
Puntos: 4
Respuesta: Aviso de Actualizacion en aplicacion portable

Hola se puede hacer de una forma bastante sencilla:

1º - subes un archivo llamado por ejemplo version.txt al sitio web donde tengas alojada la actualizacion para la descarga y dentro del archivo version.txt escribes la nueva version del exe de tu aplicacion, por ejemplo 1.0.1 (suponiendo que la anterior sea la 1.0.0) en la primera linea del archivo.

2º - añadimos a tu proyecto la funcion URLDownloadToFile, que se encarga de descargar ese archivo de texto (version.txt) de tu sitio web a la carpeta temp del ordenador.

3º - Comparamos la version que pone en el archivo de texto con la version de nuestra aplicacion.exe, apartir de hay podemos sacar los msgbox que queramos o preguntar si quiere descargar la actualizacion etc..........o no actualizar etc.....


Saque un ejemplo e ideas de una vez que escribio ERBUSON en el foro.

ACONTINUACION UN EJEMPLO DE CODIGO PARA COMPROBAR SI HAY UNA NUEVA VERSION DISPONIBLE, EL RESTO LO DE DESCARGAR LA APLICACION TE LO DEJO A TI:

Cita:
Option Explicit
'funcion que descarga un archivo desde un sitio web al pc donde le digas'

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 Sub Command1_Click()
On Error GoTo error 'si hay un error o no tenemos internet'

Dim a As Long
Dim VersionEXE As String 'variable para recoger nuestra version actual'
VersionEXE = (App.Major & "." & App.Minor & "." & App.Revision)

'nos conectamos para descargar el archivo en la carpeta temp del pc'

a = URLDownloadToFile(0, "http://www.tu sitio web.com/version.txt", Environ("Temp") & "\version.txt", 0, 0)

Dim NuevaVersionExe As String 'variable para recoger la version del archivo de texto'
leerarchivo Environ("Temp") & "\version.txt", NuevaVersionExe
MsgBox "tu version es la " + VersionEXE
MsgBox "la nueva version es la " + NuevaVersionExe

'comparamos las dos versiones'

'atencion en el archivo de texto solo tiene que haber'
'una linea que ponga 1.0.1 o la nueva version'
'si hay otros caracteres lo dara como que es distinto al comprobar'

If Not VersionEXE = NuevaVersionExe Then
MsgBox "Hay una nueva version disponible", vbInformation, "Actualización"
Else
MsgBox "tu " + App.EXEName + ".exe" + " esta actualizado a la ultima version disponible!."

Exit Sub
End If
'tratamiento de error por si no tenemos conexion a internet'

error:
MsgBox "Error de conexion en la actualizacion", vbExclamation
Exit Sub
End Sub

Public Sub leerarchivo(path As String, salida As String)
Dim Linea As String
If path = vbNullString Then Exit Sub
salida = ""
Open path For Input As #1
Line Input #1, Linea
salida = Linea
Close
End Sub



Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub

espero te sirva salu2


nota: pon tu url donde tu sitio web en el codigo y el archivo de texto que subas es muy importante que dentro haya una sola linea con el numero de la version ejemplo(1.0.1) o la que sea. si hay otros caracteres o no esta igual tendras errores.

Etiquetas: portable, actualizaciones, aplicaciones, avisos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:27.