Aplicación Actualizable

Iniciado por e500, 14 Junio 2010, 23:12 PM

0 Miembros y 2 Visitantes están viendo este tema.

e500

Hé visto varios metodos, me me interesaría que el soft chekee automaticamente y se actualise solo.

Solo le pido ideas, o algun code concreto.

Saludos

DarkMatrix

Yo hace mucho hize un actualizador con el modulo Csocketmaster y es el que uso actualmente para actualizar el juego que hize en vb. El juego es Online y hasta ahora el actualizador lo hace muy bien. Acomodare el codigo del actualizador y comentare el codigo para postearlo y aportarlo a la comunidad.

PD: Pueden ver el juego en www.novaweb.ve.tc o www.novaweb.megabyet.net

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix

bomba1990

hola, se que es un poco fuera del post, pero esta bien tu pagina, voy a descargar el juego para robarlo. Felicitaciones.
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

e500

Cita de: DarkMatrix en 15 Junio 2010, 03:07 AM
Yo hace mucho hize un actualizador con el modulo Csocketmaster y es el que uso actualmente para actualizar el juego que hize en vb. El juego es Online y hasta ahora el actualizador lo hace muy bien. Acomodare el codigo del actualizador y comentare el codigo para postearlo y aportarlo a la comunidad.

PD: Pueden ver el juego en www.novaweb.ve.tc o www.novaweb.megabyet.net

Muchas gracias, esperaré el codigo con ansiedad!!  ;-)

Saludos

BlackZeroX

Cita de: e500 en 15 Junio 2010, 05:53 AM
Cita de: DarkMatrix en 15 Junio 2010, 03:07 AM
Yo hace mucho hize un actualizador con el modulo Csocketmaster y es el que uso actualmente para actualizar el juego que hize en vb. El juego es Online y hasta ahora el actualizador lo hace muy bien. Acomodare el codigo del actualizador y comentare el codigo para postearlo y aportarlo a la comunidad.

PD: Pueden ver el juego en www.novaweb.ve.tc o www.novaweb.megabyet.net

Muchas gracias, esperaré el codigo con ansiedad!!  ;-)

Saludos

Eso que te dijeron es mas EGO y SPAM publicitario!¡, por lo escrito!¡, no creo que te de codigo!¡.

Si deseas EJEMPLOS, PROYECTOS HECHOS esta la pagina de PSC

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

DarkMatrix

#5
Cita de: BlackZeroX▓▓▒▒░░ en 15 Junio 2010, 07:01 AM
Cita de: e500 en 15 Junio 2010, 05:53 AM
Cita de: DarkMatrix en 15 Junio 2010, 03:07 AM
Yo hace mucho hize un actualizador con el modulo Csocketmaster y es el que uso actualmente para actualizar el juego que hize en vb. El juego es Online y hasta ahora el actualizador lo hace muy bien. Acomodare el codigo del actualizador y comentare el codigo para postearlo y aportarlo a la comunidad.

PD: Pueden ver el juego en www.novaweb.ve.tc o www.novaweb.megabyet.net

Muchas gracias, esperaré el codigo con ansiedad!!  ;-)

Saludos

Eso que te dijeron es mas EGO y SPAM publicitario!¡, por lo escrito!¡, no creo que te de codigo!¡.

Si deseas EJEMPLOS, PROYECTOS HECHOS esta la pagina de PSC

Dulce Infierno Lunar!¡.


Me sorprenden comentarios como este viniendo de un user como BlackZeroX▓▓▒▒░░ -.-!!

Si mas aqui el code prometido, es el que yo uso y hasta ahora no me ha fallado.

El code me parece que es simple, todo se hace desde el Form Load:

Código (vb) [Seleccionar]

Private Sub Form_Load()

1         On Error GoTo Form_Load_Error

2         Call RegisterComponent(App.Path & "\unzip32.dll", DllRegisterServer)
         
3         TempUpdateList = App.Path & "\updatelist.txt"     ' Archivo que guarda la informacion de los archivos actualizados
4         TempFileList = App.Path & "\filelist.txt"         ' Donde seran almacenados los archivos actuales

5         If Command = "GenerateUpdateList" Then
6             If mArchivos.ArchivoExiste(App.Path & "\updatelist.txt") Then Call mArchivos.BorrarArchivo(App.Path & "\updatelist.txt")
7             Call Generate_FileList(App.Path, 1, App.Path & "\updatelist.txt", HostUrl)
8             MsgBox "Listo"
9             End
10        End If

11        If mArchivos.ArchivoExiste(TempUpdateList) Then mArchivos.BorrarArchivo TempUpdateList
12        If mArchivos.ArchivoExiste(TempFileList) Then mArchivos.BorrarArchivo TempFileList
13        If mArchivos.ArchivoExiste(App.Path & "\updatelist.zip") Then mArchivos.BorrarArchivo App.Path & "\updatelist.zip"
14        If mArchivos.ArchivoExiste(App.Path & "\updatelist.txt") Then mArchivos.BorrarArchivo App.Path & "\updatelist.txt"
         
15        Set Download = New CDownload

16        Me.Show

17        If Descargar_Updatelist = True Then               ' Descarga el Updatelist
18            Call Generar_Lista_De_Archivos                ' Genera la lista de archivos
19            Call Comprobar_Actualizaciones(App.Path)      ' Compara archivos en busca de actualizaciones
20            Call Descargar_Actualizaciones                ' Descargar Actualizaciones
21            Call SetStatus("Actualizacion Completa...")   ' Establece el Mensaje de que se completo todo
22            cmdAceptar.Enabled = True                     ' Activa el mensaje para activar la aplicacion Principal
23        Else
24            Call SetStatus("Fallo al Tratar de Actualizar...")    ' Fallo la actualizacion.
25        End If

26        Exit Sub

Form_Load_Error:

27        MsgBox "Error " & Err.Number & " (" & Err.Description & ") En La Linea Nº " & Erl & " Del Procedimiento Form_Load del Formulario frmDownloader", vbCritical + vbOKOnly, "Error"

End Sub


Todo esta en el zip.

En el form Principal debemos espesificar la URL del sitio en la parte de declaraciones, esta URL sera el host donde esta alojado el archivo updatelist.zip que contiene el updatelist.txt. Este archivo contiene la informacion de los archivos actualizados.

Lo primero que hace el programa es descargar el archivo updatelist.zip lo descomprime y carga el updatelist.txt, posterior a eso el programa genera una lista con los archivos del directorio de la aplicacion. Luego el programa compara los archivos del updatelist.txt (Archivos actualizados) con la lista de archivos generada (Archivos de la carpeta de la aplicacion) y los agrega a la lista de archivos a actualizar.

Por ultimo se llama a la funcion Descargar_Archivos que se encargara de descargar todos los archivos hasta actualizarlos todos. Una vez finalizado todo entonces se activa el boton aceptar para activar la otra aplicacion o cualquier otra cosa que se quiera colocar hay.

PD: Para Generar la lista de archivos actualizados el actualizador debe estar en la misma carpeta de la aplicacion actualizada, se ejecuta la aplicacion con el parametro GenerateUpdateList y generara el archivo updatelist.txt, este archivo debera comprimirse y subirse al host junto con los archivos actualizados. OJO en la carpeta de la aplicacion no deben ningun otro archivo que no sea el utilizado por la aplicacion exceptuando el programa que actualiza.

PD2: Es recomendable que los ejecutables exe, las dll o los ocx esten comprimidos en .zip para que no haya problemas al actualizar. Cuando se genera el updatelist.txt, debe reemplazarse la URL de descarga del exe, dll o ocx que se haya comprimido. OJO! no es obligatorio hacerlo solo que algunos servidores no admiten la descarga de ejecutables por seguridad.

Ejemplo: Genere el archivo updatelist.txt lo abro y estan todas las lineas de los archivos a actualizarse, si mi aplicacion principal se llama Programa.exe entonces debo buscarlo y ponerle Programa.zip:

La Linea aparece asi:
"\updater.exe",176128,"13be50d187646260f165276a38c8d2d4","http://www.URL_DEL_SITIO.net/CARPETA_DE_ACTUALIZACIONES/updater.exe"

Cambiarla asi:
"\updater.exe",176128,"13be50d187646260f165276a38c8d2d4","http://www.URL_DEL_SITIO.net/CARPETA_DE_ACTUALIZACIONES/updater.zip"


Si hay algun error o alguna sugerencia para mejorar el code pues bienvenido sea.



Descargar Source Code:
http://www.megaupload.com/?d=XSO26CMG

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix

DarkMatrix

#6
El link de descargar esta el source.

PD: Perdon por el doble post.

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix

e500

Muchisimas gracias DarkMatrix. Lo voy a probar  ;-)

Saludos

ckjones1

DarkMatrix gracias por eso, me has ayudado a mi tambien pero no entiendo bien la parte del Updatelist.. ese codigo de donde lo sacastes y para que sirve?
"\updater.exe",176128,"13be50d187646260f165276a38c8d2d4"

DarkMatrix

La parte updatelist se encarga de generar la lista de archivos actualizados. Me explico, la aplicacion consta de dos partes: La primera es el updatelist ( Lista de Actualizacion ) que se encarga de generar la lista de archivos mas actualizados y los guarda en un archivo. La segunda parte es la que comprueba la actualizacion de tu ejcutable y en caso de que no este sincronizada con el updatelist, entonces actualizara los archivos que no esten actualizados.

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix