AutoUpdate
-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
AutoUpdate
j'essaye de faire une procedure pour tous mes progs, qui verifie sur mon site est ce qu'il y a une nouvelle version, et si oui il la telecharge et l'installe tout seul (en lancant un deuxieme prog qui efface l'ancien et met a la place le nouveau)
la verite est que j'ai fini mais c'a ma l'ai assez complique, et en plus ca marche pas tout le temps, et je me suis dis que surement quelqun avait deja pnse a ca, et je serais donc interresse de le voir
merci
la verite est que j'ai fini mais c'a ma l'ai assez complique, et en plus ca marche pas tout le temps, et je me suis dis que surement quelqun avait deja pnse a ca, et je serais donc interresse de le voir
merci
Re: AutoUpdate
Perso je ne mets pas (encore) à jour les logiciels, en revanche, mes programmes (presque tous) vérifient si une nouvelle version est dispo.
Voilà comment je procède :
Dans un espace de mon site, j'ai toujours le même fichier de misère à jour en .zip (ou .z7) qui se nomme "nomduprogr_update.zip" que j'appelerai "B"
J'ai aussi un fichier texte "C" que je nomme "nomduprogr_maj.txt" qui contient uniquement le numéro de version sous la forme :
*- 1.2 -*
*- et -* sont mes marqueurs.
Lorsque le programme A en locale vérifie sur le net, il récupère donc la source de "C" et compare ce qu'il trouve entre les marqueurs.
if "C_version" > "A_version"
Alors sauve le zip au même emplacement que A.
Ensuite je peux afficher un messagerequester indiquant que la MAJ nécessite de quitter le prog et j'ouvre l'explorer à cet endroit avec un runprogram() juste avant de quitter.
L'utilisateur n'a plus qu'à dé-ziper et ecraser l'exe original.
A terme, je vais aussi faire un Auto updtate.
Je vais procéder de la même façon mais j'aurai un fichier exe supplémentaire qui contiendra la procédure d'installation de la maj.
"A" vérifiera si maj diso
- si OUI -> "A" telecharge la mise à jour en "zip" (j'aime pas télécharger directement un .exe) puis lance autoupdate.exe
Que fait autoupdate ?
1 - il vérifie que le zip est présent
2 - il vérifie que "A" ne tourne pas en tâche de fond, s'il tourne, il le ferme
3 - il renomme "A" en "A.bak" (sécurité sécurité)
4 - il extrait le nouveau A' du zip, Si l'extraction s'est bien passée, il efface "A" et il efface le "zip"
5 - Il lance A' et se ferme
Voilà comment je procède :
Dans un espace de mon site, j'ai toujours le même fichier de misère à jour en .zip (ou .z7) qui se nomme "nomduprogr_update.zip" que j'appelerai "B"
J'ai aussi un fichier texte "C" que je nomme "nomduprogr_maj.txt" qui contient uniquement le numéro de version sous la forme :
*- 1.2 -*
*- et -* sont mes marqueurs.
Lorsque le programme A en locale vérifie sur le net, il récupère donc la source de "C" et compare ce qu'il trouve entre les marqueurs.
if "C_version" > "A_version"
Alors sauve le zip au même emplacement que A.
Ensuite je peux afficher un messagerequester indiquant que la MAJ nécessite de quitter le prog et j'ouvre l'explorer à cet endroit avec un runprogram() juste avant de quitter.
L'utilisateur n'a plus qu'à dé-ziper et ecraser l'exe original.
A terme, je vais aussi faire un Auto updtate.
Je vais procéder de la même façon mais j'aurai un fichier exe supplémentaire qui contiendra la procédure d'installation de la maj.
"A" vérifiera si maj diso
- si OUI -> "A" telecharge la mise à jour en "zip" (j'aime pas télécharger directement un .exe) puis lance autoupdate.exe
Que fait autoupdate ?
1 - il vérifie que le zip est présent
2 - il vérifie que "A" ne tourne pas en tâche de fond, s'il tourne, il le ferme
3 - il renomme "A" en "A.bak" (sécurité sécurité)
4 - il extrait le nouveau A' du zip, Si l'extraction s'est bien passée, il efface "A" et il efface le "zip"
5 - Il lance A' et se ferme
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
Re: AutoUpdate
ok ca m'a l'air assez complique, je crois que je vais rester sur mon petit update tout simple...
il y a peut etre d'autres moyens?
il y a peut etre d'autres moyens?
Re: AutoUpdate
Ba tu veux pas montrer ton programme ?
voilà ma procédure de maj
voilà ma procédure de maj
Code : Tout sélectionner
;-Mise a jour LDV MULTIMEDIA
Global MajZIP$="http://monsite.com/nomduprog_maj.zip"
;{- --- RECUPERATION SOURCE PAGE WEB
ProcedureDLL.s Url2Text2(Url.s, OpenType.b,ProxyAndPort.s)
;/ Author : Pille
isLoop.b=1
INET_RELOAD.l = $80000000
hInet.l=0
hURL.l=0
Bytes.l=0
Buffer.s= Space (2048 )
RES.s= ""
hInet = InternetOpen_ ( "" , OpenType, ProxyAndPort, "" , 0)
hURL = InternetOpenUrl_ (hInet, Url, #Null , 0, INET_RELOAD, 0)
Repeat
InternetReadFile_ (hURL,@Buffer, Len (Buffer), @Bytes)
If Bytes = 0
isLoop=0
Else
RES = RES + Left (Buffer, Bytes)
EndIf
Until isLoop=0
InternetCloseHandle_ (hURL)
InternetCloseHandle_ (hInet)
ProcedureReturn RES
EndProcedure
ProcedureDLL.s Url2Text(Url.s)
ProcedureReturn Url2Text2(Url,1, "" )
EndProcedure
;}- --- FIN RECUPERATION SOURCE PAGE WEB
Procedure MAJour()
SourceMaj$=Url2Text("http://monsite.com/nomprog.txt")
MajVersion$=AffichEntre(SourceMaj$,"*-","-*") ; AffichEntre est une lib perso a base de findstring, mid etc... qui affiche le contenu entre 2 caractère donnés (mes marqueurs)
If MajVersion$=v$ ; Si la version update est la même que celle du programme
SetGadgetText(#AFF,"Vous avez déjà la dernière version")
Else ;
QuestionTelech=MessageRequester("Mise à jour","Une nouvelle version est disponible, voulez vous la télécharger ?",#PB_MessageRequester_YesNo|#MB_ICONQUESTION)
If QuestionTelech=6
MAJ=ReceiveHTTPFile(MajZIP$,"Update.zip")
If MAJ=1
SetGadgetText(#AFF,"Le téléchargement est terminé, la mise a jour se trouve dans le répertoire "+Chr(10)+DefPath$)
Else
SetGadgetText(#AFF,"Le fichier est indisponible, merci de ré-essayer dans quelques minutes.")
EndIf
EndIf
EndIf
EndProcedure
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: AutoUpdate
salut
Je me permets de relancer ce sujet, car en ce moment, j'essaie de faire un update automatiquement pour mon jeu.
J'ai donc regarder ta méthode Ar-s.
Et le système de comparer 2 fichiers texte est pas mal
.
J'aurai 2 questions néanmoins :
.
Existe-t-il d'autres libs disons sans installation pour utiliser un zip ?
Je me demandai aussi si on pouvait "vérifier" l'intégrité d'un fichier, la date, le poids, etc (par exemple, pour vérifier qu'on a bien le bon fichier updaté, avec la bonne date, etc..).
Si oui, sais-tu comment on peut faire ça ?
Merci
Je me permets de relancer ce sujet, car en ce moment, j'essaie de faire un update automatiquement pour mon jeu.
J'ai donc regarder ta méthode Ar-s.
Et le système de comparer 2 fichiers texte est pas mal

J'aurai 2 questions néanmoins :
comment fais-tu cela, j'ai trouvé pureZip, mais lors de l'installation, windows me dit qu'installer ce fichier est risqué, alors, je ne l'ai pas faitAr-S a écrit :4 - il extrait le nouveau A' du zip, Si l'extraction s'est bien passée, il efface "A" et il efface le "zip"

Existe-t-il d'autres libs disons sans installation pour utiliser un zip ?
Je me demandai aussi si on pouvait "vérifier" l'intégrité d'un fichier, la date, le poids, etc (par exemple, pour vérifier qu'on a bien le bon fichier updaté, avec la bonne date, etc..).
Si oui, sais-tu comment on peut faire ça ?
Merci
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: AutoUpdate
PureZip est clean, tu peux le prendre sans soucis, sinon tu peux utiliser la lib "Packer" qui est inclue dans PureBasic.
Enfin, pour vérifier l'intégrité d'un fichier, regarde les fonctions de la lib "Cipher".
Enfin, pour vérifier l'intégrité d'un fichier, regarde les fonctions de la lib "Cipher".
Re: AutoUpdate
Si tu n'as qu'un fichier à mettre à jour, met le directement dans ton ftp sans archive.
Sinon tu peux toujours les récupérer un à un. Au pire tu les nommes tous avec une fausse extension genre .xxx et tu les renommes pour les installer. ça évite d'éventuelles soucis (hebergeur reticent pour les exe ou autre antivirus débile lançant des faux positifs.)
Pour PureZip tu n'as rien à craindre.
--edit : grillé par Atomo
--
Tu peux aussi utiliser une archive vbin2 dont on a déjà parlé.
Sinon tu peux toujours les récupérer un à un. Au pire tu les nommes tous avec une fausse extension genre .xxx et tu les renommes pour les installer. ça évite d'éventuelles soucis (hebergeur reticent pour les exe ou autre antivirus débile lançant des faux positifs.)
Pour PureZip tu n'as rien à craindre.
--edit : grillé par Atomo

Tu peux aussi utiliser une archive vbin2 dont on a déjà parlé.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- falsam
- Messages : 7318
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: AutoUpdate
Lire le contenu d'un fichier texte et le comparer à un autre.
Il suffit de comparer le résultat de ReadUrlFile à un autre fichier
Code : Tout sélectionner
ProcedureDLL.s ReadUrlFile(URL.s, OpenType.b=1, ProxyAndPort.s="")
; OpenType
; 1 INTERNET_OPEN_TYPE_DIRECT (Resolves all host names locally.)
; 0 INTERNET_OPEN_TYPE_PRECONFIG (Retrieves the proxy Or direct configuration from the registry)
; 4 INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY (Retrieves the proxy Or direct configuration from the registry And prevents the use of a startup Microsoft JScript Or Internet Setup (INS) file.)
; 3 INTERNET_OPEN_TYPE_PROXY (Passes requests To the proxy unless a proxy bypass list is supplied And the name To be resolved bypasses the proxy. In this Case, the function uses INTERNET_OPEN_TYPE_DIRECT. )
isLoop.b=1
INET_RELOAD.l = $80000000
hInet.l=0
hURL.l=0
Bytes.l=0
Buffer.s=Space(2048)
RES.s=""
hInet = InternetOpen_("", OpenType, ProxyAndPort, "", 0)
hURL = InternetOpenUrl_(hInet, URL, #Null, 0, INET_RELOAD, 0)
Repeat
InternetReadFile_(hURL,@Buffer, Len(Buffer), @Bytes)
If Bytes = 0
isLoop=0
Else
RES = RES + Left(Buffer, Bytes)
EndIf
Until isLoop=0
InternetCloseHandle_(hURL)
InternetCloseHandle_(hInet)
ProcedureReturn RES
EndProcedure
Debug ReadUrlFile("http://tonsite.fr/fichier.txt")
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: AutoUpdate
salut
Merci pour vos réponses aussi rapides !
Je vais ajouter quelques détails sur ce que je voudrais faire (car j'en ai oublié
) :
- en fait, j'ai 2 exe : jeu.exe et update.exe. pour jouer, on clique sur update.exe, qui vérifies d'abord s'il y a une nouvelle version disponible, pour le jeu. Pour cela, la technique d'AR-s de comparer 2 fichier texte, avec chacun un numéro de version est nickel
.
- s'il y a un update de disponible, je télécharge ce fichier. Le fichier est une archive (zip ou autre) contenant des dossiers et d'autres fichiers.
par exemple, imaginons qu'il y ait une nouvelle version (un nouveau zip ou autre), dans ce zip, j'aurai :
- jeu.exe (la nouvelle version)
- un dossier data
- dans le dossier data, j'aurai un dossier image et des fichiers "personnage01.pack", "personnage02.pack", "ennemi02.pack", etc...
- un dossier texte, et dans ce dossier des fichiers genre quete1.txt, quete154.txt, sorts56.dat,
etc...
j'aimerai donc que mon update.exe vérifie s'il y a un update (ça c'est ok), qu'il récupère alors l'archive (zip, vbin2, ou autre : ça c'est ok), et qu'il ouvre cette archive et mette les nouveaux fichiers au bon endroit (ça, je ne sais pas encore faire
).
Ensuite, j'aimerai vérifier le fichier jeu.exe :
- vérifier si la date de création est ok, si le poids (la taille en ko/mo) est ok, et peut être vérifier d'autres fichiers si besoin.
Pas vraiment vérifier l'intérieur d'un fichier, car pour un exe c'est pas évident, mais au moins la date de création et le poids par exemple).
.
Je vais essayer ça tiens
.
.
mais je me demande si ce que je cherche n'est pas ça :
DirectoryEntryDate(#Repertoire, TypeDate)
falsam : merci pour ton code, ça me servira sans doute par la suite
encore merci pour vos réponses.
Merci pour vos réponses aussi rapides !
Je vais ajouter quelques détails sur ce que je voudrais faire (car j'en ai oublié

- en fait, j'ai 2 exe : jeu.exe et update.exe. pour jouer, on clique sur update.exe, qui vérifies d'abord s'il y a une nouvelle version disponible, pour le jeu. Pour cela, la technique d'AR-s de comparer 2 fichier texte, avec chacun un numéro de version est nickel

- s'il y a un update de disponible, je télécharge ce fichier. Le fichier est une archive (zip ou autre) contenant des dossiers et d'autres fichiers.
par exemple, imaginons qu'il y ait une nouvelle version (un nouveau zip ou autre), dans ce zip, j'aurai :
- jeu.exe (la nouvelle version)
- un dossier data
- dans le dossier data, j'aurai un dossier image et des fichiers "personnage01.pack", "personnage02.pack", "ennemi02.pack", etc...
- un dossier texte, et dans ce dossier des fichiers genre quete1.txt, quete154.txt, sorts56.dat,
etc...
j'aimerai donc que mon update.exe vérifie s'il y a un update (ça c'est ok), qu'il récupère alors l'archive (zip, vbin2, ou autre : ça c'est ok), et qu'il ouvre cette archive et mette les nouveaux fichiers au bon endroit (ça, je ne sais pas encore faire

Ensuite, j'aimerai vérifier le fichier jeu.exe :
- vérifier si la date de création est ok, si le poids (la taille en ko/mo) est ok, et peut être vérifier d'autres fichiers si besoin.
Pas vraiment vérifier l'intérieur d'un fichier, car pour un exe c'est pas évident, mais au moins la date de création et le poids par exemple).
ah oui, l'idée est intéressante, en plus ça me permet de réaliser une barre de progression de téléchargement je penseAr-S a écrit :Si tu n'as qu'un fichier à mettre à jour, met le directement dans ton ftp sans archive.
Sinon tu peux toujours les récupérer un à un. Au pire tu les nommes tous avec une fausse extension genre .xxx et tu les renommes pour les installer. ça évite d'éventuelles soucis (hebergeur reticent pour les exe ou autre antivirus débile lançant des faux positifs.)

Je vais essayer ça tiens

exact, je l'avais oublié celle-ci, je vais y rejeter un oeil, c'est vrai que ça peut être pas mal pour ce genre de choseTu peux aussi utiliser une archive vbin2 dont on a déjà parlé.

j'ai regardé cette lib, mais je n'ai pas trouvé comment vérifier par exemple la date de création d'un fichier ou le poids (ko) de celui-ci.Enfin, pour vérifier l'intégrité d'un fichier, regarde les fonctions de la lib "Cipher".
mais je me demande si ce que je cherche n'est pas ça :
DirectoryEntryDate(#Repertoire, TypeDate)
falsam : merci pour ton code, ça me servira sans doute par la suite

encore merci pour vos réponses.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: AutoUpdate
Pour vérifier si 2 fichiers sont identiques, le mieux est d'utiliser la commande : CRC32FileFingerprint(Filename$).
Extrait de la doc :
Extrait de la doc :
CRC32 is a 32 bit fingerprint not intended for password storage as it's easily crackable, but for quick data integrity checks. The main advantage of CRC32 over MD5 or other hash algorithm is its very high speed.
Re: AutoUpdate
oki, merci pour cette astuceAtomo a écrit :Pour vérifier si 2 fichiers sont identiques, le mieux est d'utiliser la commande : CRC32FileFingerprint(Filename$).
Extrait de la doc :CRC32 is a 32 bit fingerprint not intended for password storage as it's easily crackable, but for quick data integrity checks. The main advantage of CRC32 over MD5 or other hash algorithm is its very high speed.

ça me sera utile effectivement si je dois comparer 2 fichiers.
En fait, pour CRC32, je peux sans doute stocker le résultat dans un fichier et ensuite comparer ce résultat avec le nouveau fichier ?
En fait, je cherchais simplement ceci :
Code : Tout sélectionner
size = FileSize("jeu.exe")
Resultat = GetFileDate("jeu.exe", #PB_Date_Modified)
Debug "date : "+ Str(resultat) + "/ taille : "+ Str(size)
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
- falsam
- Messages : 7318
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: AutoUpdate
je confirme aussi , c'est nickel.blendman a écrit :j'ai 2 exe : jeu.exe et update.exe. pour jouer, on clique sur update.exe, qui vérifies d'abord s'il y a une nouvelle version disponible, pour le jeu. Pour cela, la technique d'AR-s de comparer 2 fichier texte, avec chacun un numéro de version est nickel.
Ton programme Update.exe pourrait charger un autre programme depuis ton hébergement qui contiendra les instructions de mise à jour de ton jeu.blendman a écrit : .... qu'il ouvre cette archive et mette les nouveaux fichiers au bon endroit (ça, je ne sais pas encore faire) ...
Certains hébergeurs n'aiment pas que des programmes .exe se trouvent sur leurs serveur.
Renomme ton exécutable en .zip
Ton update pourrait contenir une portion de code comme celui-çi.
Code : Tout sélectionner
InitNetwork() And ReceiveHTTPFile("http://tonsite.fr/mamiseajour.zip", GetTemporaryDirectory()+"mamiseajour.exe")
RunProgram(GetTemporaryDirectory()+"mamiseajour.exe")
Else
;Ton code d'erreur ..... ou pas
EndIf
mamiseajour.exe contiendrait le code relatif à la mise à jour de chacun des dossiers de ton jeu.
Code : Tout sélectionner
If InitNetwork()
ReceiveHTTPFile("http://tonsite.fr/quete1.txt", GetCurrentDirectory()+"quete1.txt")
ReceiveHTTPFile("http://tonsite.fr/quete2.txt", GetCurrentDirectory()+"quete2.txt")
ReceiveHTTPFile("http://tonsite.fr/pack.dat", GetCurrentDirectory()+"data\pack.dat")
EndIf
Dernière modification par falsam le mar. 05/avr./2011 17:48, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: AutoUpdate
ah oui, pas mal du tout !falsam a écrit :je confirme aussi , c'est nickel.blendman a écrit :j'ai 2 exe : jeu.exe et update.exe. pour jouer, on clique sur update.exe, qui vérifies d'abord s'il y a une nouvelle version disponible, pour le jeu. Pour cela, la technique d'AR-s de comparer 2 fichier texte, avec chacun un numéro de version est nickel.
Ton programme Update.exe pourrait charger un autre programme depuis ton hébergement qui contiendra les instructions de mise à jour de ton jeu.blendman a écrit : .... qu'il ouvre cette archive et mette les nouveaux fichiers au bon endroit (ça, je ne sais pas encore faire) ...
Certains hébergeurs n'aiment pas que des programmes .exe se trouvent sur leurs serveur.
Renomme ton exécutable en .zip
Ton update pourrait contenir une portion de code comme celui-çi.Code : Tout sélectionner
InitNetwork() And ReceiveHTTPFile("http://tonsite.fr/mamiseajour.zip", GetTemporaryDirectory()+"mamiseajour.exe") RunProgram(GetTemporaryDirectory()+"mamiseajour.exe") Else ;Ton code d'erreur ..... ou pas EndIf
mamiseajour.exe contiendrait le code relatif à la mise à jour de chacun des dossiers de ton jeu.Code : Tout sélectionner
RIf InitNetwork() ReceiveHTTPFile("http://tonsite.fr/quete1.txt", GetCurrentDirectory()+"quete1.txt") ReceiveHTTPFile("http://tonsite.fr/quete2.txt", GetCurrentDirectory()+"quete2.txt") ReceiveHTTPFile("http://tonsite.fr/pack.dat", GetCurrentDirectory()+"data\pack.dat") EndIf
ça me plait bien dis donc comme technique

merci énormément, ça va m'être super utile tout cela !

http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: AutoUpdate
Pense à virer le(s) fichier(s) temp après utilisation.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: AutoUpdate
Ma méthode est assez complexe également.
Elle passe par une page PHP de mon site.
On renseigne dans le lien le nom du programme et sa version, et la page retourne, toujours dans le lien, OK si le prog est à jour ou NOK sinon.
La page est la pour exemple :
http://www.lsi-dev.com/index.php?mod=ch ... a/2.0%20b1
je l'ouvre avec un webgadget
et cela se transforme en
http://www.lsi-dev.com/index.php?mod=ch ... a/2.0%20b1
donc si result=OK dans le lien, le programme est à jour.
Cela nécessite du codage en PHP par contre, avec une base de donnée qui connait la version de chaque logiciel.
Après, faut télécharger manuellement.
Si ça peut donner des idées
Elle passe par une page PHP de mon site.
On renseigne dans le lien le nom du programme et sa version, et la page retourne, toujours dans le lien, OK si le prog est à jour ou NOK sinon.
La page est la pour exemple :
http://www.lsi-dev.com/index.php?mod=ch ... a/2.0%20b1
je l'ouvre avec un webgadget
et cela se transforme en
http://www.lsi-dev.com/index.php?mod=ch ... a/2.0%20b1
donc si result=OK dans le lien, le programme est à jour.
Cela nécessite du codage en PHP par contre, avec une base de donnée qui connait la version de chaque logiciel.
Après, faut télécharger manuellement.
Si ça peut donner des idées
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]